--- a/langtools/make/netbeans/langtools/build.xml Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/make/netbeans/langtools/build.xml Thu Apr 24 16:04:44 2014 -0700
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -136,11 +136,32 @@
</antcall>
</target>
- <target name="-show-jtreg" if="netbeans.home" unless="jtreg.passed">
- <nbbrowse file="${jtreg.report}/report.html"/>
+ <target name="-show-jtreg-single-detect" if="netbeans.home" unless="jtreg.passed">
+ <dirname property="netbeans.jtreg.tests.dir.temp" file="${jtreg.report}/../work/${jtreg.tests}"/>
+ <basename property="netbeans.jtreg.tests.basename.temp" file="${jtreg.tests}" suffix=".java"/>
+ <property name="netbeans.jtreg.single.jtr" value="${netbeans.jtreg.tests.dir.temp}/${netbeans.jtreg.tests.basename.temp}.jtr"/>
+ <condition property="netbeans.jtreg.single">
+ <available file="${netbeans.jtreg.single.jtr}" />
+ </condition>
+ <condition property="netbeans.jtreg.multiple">
+ <not>
+ <available file="${netbeans.jtreg.single.jtr}" />
+ </not>
+ </condition>
+ </target>
+
+ <target name="-show-jtreg-single" if="netbeans.jtreg.single" depends="-show-jtreg-single-detect">
+ <nbbrowse file="${netbeans.jtreg.single.jtr}"/>
<fail>Some tests failed; see report for details.</fail>
</target>
+ <target name="-show-jtreg-multiple" if="netbeans.jtreg.multiple" depends="-show-jtreg-single-detect">
+ <nbbrowse url="file://${jtreg.report}/html/report.html#Results"/>
+ <fail>Some tests failed; see report for details.</fail>
+ </target>
+
+ <target name="-show-jtreg" depends="-show-jtreg-single-detect,-show-jtreg-single,-show-jtreg-multiple" />
+
<!-- Debug tool in NetBeans. -->
<target name="debug" depends="-check-target.java.home,-def-run,-def-start-debugger,-get-tool-and-args,build" if="netbeans.home">
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/make/netbeans/langtools/nbproject/project.properties Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,10 @@
+auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=true
+auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=4
+auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=4
+auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.tab-size=8
+auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=100
+auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap=none
+auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=project
+auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.importGroupsOrder=java;javax;*;static java;static javax;static *
+auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.importInnerClasses=true
+auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.separateStaticImports=true
--- a/langtools/make/netbeans/langtools/nbproject/project.xml Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/make/netbeans/langtools/nbproject/project.xml Thu Apr 24 16:04:44 2014 -0700
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
@@ -67,38 +67,7 @@
</folders>
<ide-actions>
<!--
- Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Oracle nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
- <!--
- This file defines the standard actions accepted by langtools projects.
- It is normally included as an entity into a project's project.xml file.
+ This section defines the standard actions accepted by langtools projects.
For information on these actions, see
- NetBeans: Setting Up Projects
@@ -156,7 +125,7 @@
<pattern>\.(java|sh)$</pattern>
<format>relative-path</format>
<arity>
- <separated-files>,</separated-files>
+ <separated-files> </separated-files>
</arity>
</context>
</action>
@@ -246,39 +215,8 @@
</items>
<context-menu>
<!--
- Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Oracle nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
- <!--
- This file defines the actions that will appear on the project's context
+ This section defines the actions that will appear on the project's context
menu, in the Projects viewer.
- It is normally included as an entity into a project's project.xml file.
For information on these actions, see
- NetBeans: Setting Up Projects
--- a/langtools/make/netbeans/langtools/nbproject/standard-context-menu-items.ent Thu Apr 24 12:21:18 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Oracle nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- This file defines the actions that will appear on the project's context
- menu, in the Projects viewer.
- It is normally included as an entity into a project's project.xml file.
-
- For information on these actions, see
- - NetBeans: Setting Up Projects
- at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
- - NetBeans: Advanced Freeform Project Configuration
- at http://www.netbeans.org/kb/41/freeform-config.html
--->
-
-<ide-action name="select-tool"/>
-
-<separator/>
-
-<ide-action name="build"/>
-<ide-action name="rebuild"/>
-<ide-action name="clean"/>
-<ide-action name="javadoc"/>
-
-<separator/>
-
-<ide-action name="run"/>
-<ide-action name="debug"/>
-
-<separator/>
-
-<ide-action name="test"/>
--- a/langtools/make/netbeans/langtools/nbproject/standard-ide-actions.ent Thu Apr 24 12:21:18 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- - Neither the name of Oracle nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--->
-
-<!--
- This file defines the standard actions accepted by langtools projects.
- It is normally included as an entity into a project's project.xml file.
-
- For information on these actions, see
- - NetBeans: Setting Up Projects
- at http://www.netbeans.org/kb/55/using-netbeans/project_setup.html
- - NetBeans: Advanced Freeform Project Configuration
- at http://www.netbeans.org/kb/41/freeform-config.html
--->
-
-<action name="build">
- <target>build</target>
-</action>
-
-<action name="clean">
- <target>clean</target>
-</action>
-
-<action name="rebuild">
- <target>clean</target>
- <target>build</target>
-</action>
-
-<action name="compile.single">
- <target>compile-single</target>
- <property name="srcdir">${root}/src/share/classes</property>
- <context>
- <property>includes</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>relative-path</format>
- <arity>
- <separated-files>,</separated-files>
- </arity>
- </context>
-</action>
-
-<action name="run">
- <target>run</target>
-</action>
-
-<action name="run.single">
- <target>run-single</target>
- <context>
- <property>run.classname</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>java-name</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<!--
- Note: NetBeans does not appear to support context menu items
- on shell scripts :-(
--->
-
-<action name="run.single">
- <target>jtreg</target>
- <context>
- <property>jtreg.tests</property>
- <folder>${root}/test</folder>
- <pattern>\.(java|sh)$</pattern>
- <format>relative-path</format>
- <arity>
- <separated-files>,</separated-files>
- </arity>
- </context>
-</action>
-
-<action name="test">
- <target>jtreg</target>
-</action>
-
-<action name="debug">
- <target>debug</target>
-</action>
-
-<action name="debug.single">
- <target>debug-single</target>
- <context>
- <property>debug.classname</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>java-name</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<!--
- Note: NetBeans does not appear to support context menu items
- on shell scripts :-(
--->
-
-<action name="debug.single">
- <target>debug-jtreg</target>
- <context>
- <property>jtreg.tests</property>
- <folder>${root}/test</folder>
- <pattern>\.(java|sh)$</pattern>
- <format>relative-path</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<action name="debug.fix">
- <target>debug-fix</target>
- <property name="srcdir">${root}/src/share/classes</property>
- <context>
- <property>class</property>
- <folder>${root}/src/share/classes</folder>
- <pattern>\.java$</pattern>
- <format>relative-path-noext</format>
- <arity>
- <one-file-only/>
- </arity>
- </context>
-</action>
-
-<action name="javadoc">
- <target>javadoc</target>
-</action>
-
-<action name="select-tool">
- <target>select-tool</target>
-</action>
-
-<action name="test-select-tool-1">
- <target>test-select-tool-1</target>
-</action>
-
-<action name="test-select-tool-2">
- <target>test-select-tool-2</target>
-</action>
--- a/langtools/make/tools/genstubs/GenStubs.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/make/tools/genstubs/GenStubs.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -316,7 +316,8 @@
}
defs.add(def);
}
- return m.TopLevel(tree.packageAnnotations, tree.pid, defs.toList());
+ tree.defs = tree.defs.intersect(defs.toList());
+ return tree;
}
@Override
--- a/langtools/src/share/classes/com/sun/source/tree/CompilationUnitTree.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/source/tree/CompilationUnitTree.java Thu Apr 24 16:04:44 2014 -0700
@@ -41,6 +41,12 @@
public interface CompilationUnitTree extends Tree {
List<? extends AnnotationTree> getPackageAnnotations();
ExpressionTree getPackageName();
+
+ /**
+ * Return the PackageTree associated with this compilation unit.
+ * @since 1.9
+ */
+ PackageTree getPackage();
List<? extends ImportTree> getImports();
List<? extends Tree> getTypeDecls();
JavaFileObject getSourceFile();
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/source/tree/PackageTree.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.source.tree;
+
+import java.util.List;
+
+/**
+ * Represents the package declaration.
+ *
+ * @jls sections 7.3, and 7.4
+ *
+ * @author Paul Govereau
+ * @since 1.9
+ */
+@jdk.Exported
+public interface PackageTree extends Tree {
+ List<? extends AnnotationTree> getAnnotations();
+ ExpressionTree getPackageName();
+}
--- a/langtools/src/share/classes/com/sun/source/tree/Tree.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/source/tree/Tree.java Thu Apr 24 16:04:44 2014 -0700
@@ -208,6 +208,12 @@
LAMBDA_EXPRESSION(LambdaExpressionTree.class),
/**
+ * Used for instances of {@link PackageTree}.
+ * @since 1.9
+ */
+ PACKAGE(PackageTree.class),
+
+ /**
* Used for instances of {@link ParenthesizedTree}.
*/
PARENTHESIZED(ParenthesizedTree.class),
--- a/langtools/src/share/classes/com/sun/source/tree/TreeVisitor.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/source/tree/TreeVisitor.java Thu Apr 24 16:04:44 2014 -0700
@@ -88,6 +88,7 @@
R visitNewArray(NewArrayTree node, P p);
R visitNewClass(NewClassTree node, P p);
R visitLambdaExpression(LambdaExpressionTree node, P p);
+ R visitPackage(PackageTree node, P p);
R visitParenthesized(ParenthesizedTree node, P p);
R visitReturn(ReturnTree node, P p);
R visitMemberSelect(MemberSelectTree node, P p);
--- a/langtools/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/source/util/SimpleTreeVisitor.java Thu Apr 24 16:04:44 2014 -0700
@@ -65,6 +65,10 @@
return defaultAction(node, p);
}
+ public R visitPackage(PackageTree node, P p) {
+ return defaultAction(node, p);
+ }
+
public R visitImport(ImportTree node, P p) {
return defaultAction(node, p);
}
--- a/langtools/src/share/classes/com/sun/source/util/TreeScanner.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/source/util/TreeScanner.java Thu Apr 24 16:04:44 2014 -0700
@@ -114,13 +114,18 @@
****************************************************************************/
public R visitCompilationUnit(CompilationUnitTree node, P p) {
- R r = scan(node.getPackageAnnotations(), p);
- r = scanAndReduce(node.getPackageName(), p, r);
+ R r = scan(node.getPackage(), p);
r = scanAndReduce(node.getImports(), p, r);
r = scanAndReduce(node.getTypeDecls(), p, r);
return r;
}
+ public R visitPackage(PackageTree node, P p) {
+ R r = scan(node.getAnnotations(), p);
+ r = scanAndReduce(node.getPackageName(), p, r);
+ return r;
+ }
+
public R visitImport(ImportTree node, P p) {
return scan(node.getQualifiedIdentifier(), p);
}
--- a/langtools/src/share/classes/com/sun/tools/doclint/Checker.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclint/Checker.java Thu Apr 24 16:04:44 2014 -0700
@@ -75,6 +75,7 @@
import com.sun.source.doctree.UnknownInlineTagTree;
import com.sun.source.doctree.ValueTree;
import com.sun.source.doctree.VersionTree;
+import com.sun.source.tree.Tree;
import com.sun.source.util.DocTreePath;
import com.sun.source.util.DocTreePathScanner;
import com.sun.source.util.TreePath;
@@ -145,8 +146,8 @@
boolean isOverridingMethod = !env.currOverriddenMethods.isEmpty();
- if (p.getLeaf() == p.getCompilationUnit()) {
- // If p points to a compilation unit, the implied declaration is the
+ if (p.getLeaf().getKind() == Tree.Kind.PACKAGE) {
+ // If p points to a package, the implied declaration is the
// package declaration (if any) for the compilation unit.
// Handle this case specially, because doc comments are only
// expected in package-info files.
--- a/langtools/src/share/classes/com/sun/tools/doclint/DocLint.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/doclint/DocLint.java Thu Apr 24 16:04:44 2014 -0700
@@ -42,6 +42,7 @@
import com.sun.source.doctree.DocCommentTree;
import com.sun.source.tree.ClassTree;
import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.tree.PackageTree;
import com.sun.source.tree.MethodTree;
import com.sun.source.tree.Tree;
import com.sun.source.tree.VariableTree;
@@ -346,13 +347,10 @@
abstract void visitDecl(Tree tree, Name name);
@Override
- public Void visitCompilationUnit(CompilationUnitTree tree, Void ignore) {
- if (tree.getPackageName() != null) {
- visitDecl(tree, null);
- }
- return super.visitCompilationUnit(tree, ignore);
+ public Void visitPackage(PackageTree tree, Void ignore) {
+ visitDecl(tree, null);
+ return super.visitPackage(tree, ignore);
}
-
@Override
public Void visitClass(ClassTree tree, Void ignore) {
visitDecl(tree, tree.getSimpleName());
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Thu Apr 24 16:04:44 2014 -0700
@@ -2616,7 +2616,7 @@
* - an instance field, we use the first constructor.
* - a static field, we create a fake clinit method.
*/
- private Env<AttrContext> lambdaEnv(JCLambda that, Env<AttrContext> env) {
+ public Env<AttrContext> lambdaEnv(JCLambda that, Env<AttrContext> env) {
Env<AttrContext> lambdaEnv;
Symbol owner = env.info.scope.owner;
if (owner.kind == VAR && owner.owner.kind == TYP) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,7 +25,7 @@
package com.sun.tools.javac.comp;
-import com.sun.source.tree.MemberReferenceTree;
+import com.sun.source.tree.LambdaExpressionTree.BodyKind;
import com.sun.tools.javac.code.*;
import com.sun.tools.javac.tree.*;
import com.sun.tools.javac.util.*;
@@ -35,10 +35,8 @@
import com.sun.tools.javac.comp.Attr.ResultInfo;
import com.sun.tools.javac.comp.Infer.InferenceContext;
import com.sun.tools.javac.comp.Resolve.MethodResolutionPhase;
-import com.sun.tools.javac.comp.Resolve.ReferenceLookupHelper;
import com.sun.tools.javac.tree.JCTree.*;
-
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumSet;
@@ -48,6 +46,7 @@
import java.util.Set;
import java.util.WeakHashMap;
+import static com.sun.tools.javac.code.Kinds.VAL;
import static com.sun.tools.javac.code.TypeTag.*;
import static com.sun.tools.javac.tree.JCTree.Tag.*;
@@ -75,6 +74,8 @@
final Symtab syms;
final TreeMaker make;
final Types types;
+ final Flow flow;
+ final Names names;
public static DeferredAttr instance(Context context) {
DeferredAttr instance = context.get(deferredAttrKey);
@@ -95,7 +96,8 @@
syms = Symtab.instance(context);
make = TreeMaker.instance(context);
types = Types.instance(context);
- Names names = Names.instance(context);
+ flow = Flow.instance(context);
+ names = Names.instance(context);
stuckTree = make.Ident(names.empty).setType(Type.stuckType);
emptyDeferredAttrContext =
new DeferredAttrContext(AttrMode.CHECK, null, MethodResolutionPhase.BOX, infer.emptyContext, null, null) {
@@ -138,6 +140,11 @@
return DEFERRED;
}
+ @Override
+ public String toString() {
+ return "DeferredType";
+ }
+
/**
* A speculative cache is used to keep track of all overload resolution rounds
* that triggered speculative attribution on a given deferred type. Each entry
@@ -376,7 +383,9 @@
}
}
//where
- protected TreeScanner unenterScanner = new TreeScanner() {
+ protected UnenterScanner unenterScanner = new UnenterScanner();
+
+ class UnenterScanner extends TreeScanner {
@Override
public void visitClassDef(JCClassDecl tree) {
ClassSymbol csym = tree.sym;
@@ -389,7 +398,7 @@
syms.classes.remove(csym.flatname);
super.visitClassDef(tree);
}
- };
+ }
/**
* A deferred context is created on each method check. A deferred context is
@@ -593,19 +602,111 @@
public void visitLambda(JCLambda tree) {
Check.CheckContext checkContext = resultInfo.checkContext;
Type pt = resultInfo.pt;
- if (inferenceContext.inferencevars.contains(pt)) {
- //ok
- return;
- } else {
+ if (!inferenceContext.inferencevars.contains(pt)) {
//must be a functional descriptor
+ Type descriptorType = null;
try {
- Type desc = types.findDescriptorType(pt);
- if (desc.getParameterTypes().length() != tree.params.length()) {
- checkContext.report(tree, diags.fragment("incompatible.arg.types.in.lambda"));
- }
+ descriptorType = types.findDescriptorType(pt);
} catch (Types.FunctionDescriptorLookupError ex) {
checkContext.report(null, ex.getDiagnostic());
}
+
+ if (descriptorType.getParameterTypes().length() != tree.params.length()) {
+ checkContext.report(tree,
+ diags.fragment("incompatible.arg.types.in.lambda"));
+ }
+
+ Type currentReturnType = descriptorType.getReturnType();
+ boolean returnTypeIsVoid = currentReturnType.hasTag(VOID);
+ if (tree.getBodyKind() == BodyKind.EXPRESSION) {
+ boolean isExpressionCompatible = !returnTypeIsVoid ||
+ TreeInfo.isExpressionStatement((JCExpression)tree.getBody());
+ if (!isExpressionCompatible) {
+ resultInfo.checkContext.report(tree.pos(),
+ diags.fragment("incompatible.ret.type.in.lambda",
+ diags.fragment("missing.ret.val", currentReturnType)));
+ }
+ } else {
+ LambdaBodyStructChecker lambdaBodyChecker =
+ new LambdaBodyStructChecker();
+
+ tree.body.accept(lambdaBodyChecker);
+ boolean isVoidCompatible = lambdaBodyChecker.isVoidCompatible;
+
+ if (returnTypeIsVoid) {
+ if (!isVoidCompatible) {
+ resultInfo.checkContext.report(tree.pos(),
+ diags.fragment("unexpected.ret.val"));
+ }
+ } else {
+ boolean isValueCompatible = lambdaBodyChecker.isPotentiallyValueCompatible
+ && !canLambdaBodyCompleteNormally(tree);
+ if (!isValueCompatible && !isVoidCompatible) {
+ log.error(tree.body.pos(),
+ "lambda.body.neither.value.nor.void.compatible");
+ }
+
+ if (!isValueCompatible) {
+ resultInfo.checkContext.report(tree.pos(),
+ diags.fragment("incompatible.ret.type.in.lambda",
+ diags.fragment("missing.ret.val", currentReturnType)));
+ }
+ }
+ }
+ }
+ }
+
+ boolean canLambdaBodyCompleteNormally(JCLambda tree) {
+ JCLambda newTree = new TreeCopier<>(make).copy(tree);
+ /* attr.lambdaEnv will create a meaningful env for the
+ * lambda expression. This is specially useful when the
+ * lambda is used as the init of a field. But we need to
+ * remove any added symbol.
+ */
+ Env<AttrContext> localEnv = attr.lambdaEnv(newTree, env);
+ try {
+ List<JCVariableDecl> tmpParams = newTree.params;
+ while (tmpParams.nonEmpty()) {
+ tmpParams.head.vartype = make.at(tmpParams.head).Type(syms.errType);
+ tmpParams = tmpParams.tail;
+ }
+
+ attr.attribStats(newTree.params, localEnv);
+
+ /* set pt to Type.noType to avoid generating any bound
+ * which may happen if lambda's return type is an
+ * inference variable
+ */
+ Attr.ResultInfo bodyResultInfo = attr.new ResultInfo(VAL, Type.noType);
+ localEnv.info.returnResult = bodyResultInfo;
+
+ // discard any log output
+ Log.DiagnosticHandler diagHandler = new Log.DiscardDiagnosticHandler(log);
+ try {
+ JCBlock body = (JCBlock)newTree.body;
+ /* we need to attribute the lambda body before
+ * doing the aliveness analysis. This is because
+ * constant folding occurs during attribution
+ * and the reachability of some statements depends
+ * on constant values, for example:
+ *
+ * while (true) {...}
+ */
+ attr.attribStats(body.stats, localEnv);
+
+ attr.preFlow(newTree);
+ /* make an aliveness / reachability analysis of the lambda
+ * to determine if it can complete normally
+ */
+ flow.analyzeLambda(localEnv, newTree, make, true);
+ } finally {
+ log.popDiagnosticHandler(diagHandler);
+ }
+ return newTree.canCompleteNormally;
+ } finally {
+ JCBlock body = (JCBlock)newTree.body;
+ unenterScanner.scan(body.stats);
+ localEnv.info.scope.leave();
}
}
@@ -623,10 +724,7 @@
public void visitReference(JCMemberReference tree) {
Check.CheckContext checkContext = resultInfo.checkContext;
Type pt = resultInfo.pt;
- if (inferenceContext.inferencevars.contains(pt)) {
- //ok
- return;
- } else {
+ if (!inferenceContext.inferencevars.contains(pt)) {
try {
types.findDescriptorType(pt);
} catch (Types.FunctionDescriptorLookupError ex) {
@@ -656,6 +754,40 @@
}
}
}
+
+ /* This visitor looks for return statements, its analysis will determine if
+ * a lambda body is void or value compatible. We must analyze return
+ * statements contained in the lambda body only, thus any return statement
+ * contained in an inner class or inner lambda body, should be ignored.
+ */
+ class LambdaBodyStructChecker extends TreeScanner {
+ boolean isVoidCompatible = true;
+ boolean isPotentiallyValueCompatible = true;
+
+ @Override
+ public void visitClassDef(JCClassDecl tree) {
+ // do nothing
+ }
+
+ @Override
+ public void visitLambda(JCLambda tree) {
+ // do nothing
+ }
+
+ @Override
+ public void visitNewClass(JCNewClass tree) {
+ // do nothing
+ }
+
+ @Override
+ public void visitReturn(JCReturn tree) {
+ if (tree.expr != null) {
+ isVoidCompatible = false;
+ } else {
+ isPotentiallyValueCompatible = false;
+ }
+ }
+ }
}
/** an empty deferred attribution context - all methods throw exceptions */
@@ -767,7 +899,7 @@
/**
* handler that is executed when a node has been discarded
*/
- abstract void skip(JCTree tree);
+ void skip(JCTree tree) {}
}
/**
@@ -779,11 +911,6 @@
PolyScanner() {
super(EnumSet.of(CONDEXPR, PARENS, LAMBDA, REFERENCE));
}
-
- @Override
- void skip(JCTree tree) {
- //do nothing
- }
}
/**
@@ -796,11 +923,6 @@
super(EnumSet.of(BLOCK, CASE, CATCH, DOLOOP, FOREACHLOOP,
FORLOOP, RETURN, SYNCHRONIZED, SWITCH, TRY, WHILELOOP));
}
-
- @Override
- void skip(JCTree tree) {
- //do nothing
- }
}
/**
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Thu Apr 24 16:04:44 2014 -0700
@@ -288,15 +288,16 @@
boolean addEnv = false;
boolean isPkgInfo = tree.sourcefile.isNameCompatible("package-info",
JavaFileObject.Kind.SOURCE);
- if (tree.pid != null) {
- tree.packge = syms.enterPackage(TreeInfo.fullName(tree.pid));
- if (tree.packageAnnotations.nonEmpty()
- || pkginfoOpt == PkgInfo.ALWAYS
- || tree.docComments != null) {
+ JCPackageDecl pd = tree.getPackage();
+ if (pd != null) {
+ tree.packge = pd.packge = syms.enterPackage(TreeInfo.fullName(pd.pid));
+ if ( pd.annotations.nonEmpty()
+ || pkginfoOpt == PkgInfo.ALWAYS
+ || tree.docComments != null) {
if (isPkgInfo) {
addEnv = true;
- } else if (tree.packageAnnotations.nonEmpty()){
- log.error(tree.packageAnnotations.head.pos(),
+ } else if (pd.annotations.nonEmpty()) {
+ log.error(pd.annotations.head.pos(),
"pkg.annotations.sb.in.package-info.java");
}
}
@@ -305,26 +306,20 @@
}
tree.packge.complete(); // Find all classes in package.
Env<AttrContext> topEnv = topLevelEnv(tree);
+ Env<AttrContext> packageEnv = isPkgInfo ? topEnv.dup(pd) : null;
// Save environment of package-info.java file.
if (isPkgInfo) {
Env<AttrContext> env0 = typeEnvs.get(tree.packge);
- if (env0 == null) {
- typeEnvs.put(tree.packge, topEnv);
- } else {
+ if (env0 != null) {
JCCompilationUnit tree0 = env0.toplevel;
if (!fileManager.isSameFile(tree.sourcefile, tree0.sourcefile)) {
- log.warning(tree.pid != null ? tree.pid.pos()
- : null,
+ log.warning(pd != null ? pd.pid.pos() : null,
"pkg-info.already.seen",
tree.packge);
- if (addEnv || (tree0.packageAnnotations.isEmpty() &&
- tree.docComments != null &&
- tree.docComments.hasComment(tree))) {
- typeEnvs.put(tree.packge, topEnv);
- }
}
}
+ typeEnvs.put(tree.packge, packageEnv);
for (Symbol q = tree.packge; q != null && q.kind == PCK; q = q.owner)
q.flags_field |= EXISTS;
@@ -339,7 +334,7 @@
}
classEnter(tree.defs, topEnv);
if (addEnv) {
- todo.append(topEnv);
+ todo.append(packageEnv);
}
log.useSource(prev);
result = null;
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Flow.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -45,7 +45,7 @@
import static com.sun.tools.javac.tree.JCTree.Tag.*;
/** This pass implements dataflow analysis for Java programs though
- * different AST visitor steps. Liveness analysis (see AliveAlanyzer) checks that
+ * different AST visitor steps. Liveness analysis (see AliveAnalyzer) checks that
* every statement is reachable. Exception analysis (see FlowAnalyzer) ensures that
* every checked exception that is thrown is declared or caught. Definite assignment analysis
* (see AssignAnalyzer) ensures that each variable is assigned when used. Definite
@@ -388,6 +388,10 @@
super.scan(tree);
}
}
+
+ public void visitPackageDef(JCPackageDecl tree) {
+ // Do nothing for PackageDecl
+ }
}
/**
@@ -723,10 +727,6 @@
}
}
- public void visitTopLevel(JCCompilationUnit tree) {
- // Do nothing for TopLevel since each class is visited individually
- }
-
/**************************************************************************
* main method
*************************************************************************/
@@ -1289,10 +1289,6 @@
}
}
- public void visitTopLevel(JCCompilationUnit tree) {
- // Do nothing for TopLevel since each class is visited individually
- }
-
/**************************************************************************
* main method
*************************************************************************/
@@ -2357,10 +2353,6 @@
tree.underlyingType.accept(this);
}
- public void visitTopLevel(JCCompilationUnit tree) {
- // Do nothing for TopLevel since each class is visited individually
- }
-
/**************************************************************************
* main method
*************************************************************************/
@@ -2677,10 +2669,6 @@
}
}
- public void visitTopLevel(JCCompilationUnit tree) {
- // Do nothing for TopLevel since each class is visited individually
- }
-
/**************************************************************************
* main method
*************************************************************************/
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Infer.java Thu Apr 24 16:04:44 2014 -0700
@@ -515,6 +515,32 @@
/** max number of incorporation rounds */
static final int MAX_INCORPORATION_STEPS = 100;
+ /* If for two types t and s there is a least upper bound that is a
+ * parameterized type G, then there exists a supertype of 't' of the form
+ * G<T1, ..., Tn> and a supertype of 's' of the form G<S1, ..., Sn>
+ * which will be returned by this method. If no such supertypes exists then
+ * null is returned.
+ *
+ * As an example for the following input:
+ *
+ * t = java.util.ArrayList<java.lang.String>
+ * s = java.util.List<T>
+ *
+ * we get this ouput:
+ *
+ * Pair[java.util.List<java.lang.String>,java.util.List<T>]
+ */
+ private Pair<Type, Type> getParameterizedSupers(Type t, Type s) {
+ Type lubResult = types.lub(t, s);
+ if (lubResult == syms.errType || lubResult == syms.botType ||
+ !lubResult.isParameterized()) {
+ return null;
+ }
+ Type asSuperOfT = types.asSuper(t, lubResult.tsym);
+ Type asSuperOfS = types.asSuper(s, lubResult.tsym);
+ return new Pair<>(asSuperOfT, asSuperOfS);
+ }
+
/**
* This enumeration defines an entry point for doing inference variable
* bound incorporation - it can be used to inject custom incorporation
@@ -682,6 +708,53 @@
}
},
/**
+ * Given a bound set containing {@code alpha <: P<T>} and
+ * {@code alpha <: P<S>} where P is a parameterized type,
+ * perform {@code T = S} (which could lead to new bounds).
+ */
+ CROSS_UPPER_UPPER() {
+ @Override
+ public void apply(UndetVar uv, InferenceContext inferenceContext, Warner warn) {
+ Infer infer = inferenceContext.infer();
+ List<Type> boundList = uv.getBounds(InferenceBound.UPPER);
+ List<Type> boundListTail = boundList.tail;
+ while (boundList.nonEmpty()) {
+ List<Type> tmpTail = boundListTail;
+ while (tmpTail.nonEmpty()) {
+ Type b1 = boundList.head;
+ Type b2 = tmpTail.head;
+ if (b1 != b2) {
+ Pair<Type, Type> commonSupers = infer.getParameterizedSupers(b1, b2);
+ if (commonSupers != null) {
+ List<Type> allParamsSuperBound1 = commonSupers.fst.allparams();
+ List<Type> allParamsSuperBound2 = commonSupers.snd.allparams();
+ while (allParamsSuperBound1.nonEmpty() && allParamsSuperBound2.nonEmpty()) {
+ //traverse the list of all params comparing them
+ if (!allParamsSuperBound1.head.hasTag(WILDCARD) &&
+ !allParamsSuperBound2.head.hasTag(WILDCARD)) {
+ isSameType(inferenceContext.asUndetVar(allParamsSuperBound1.head),
+ inferenceContext.asUndetVar(allParamsSuperBound2.head), infer);
+ }
+ allParamsSuperBound1 = allParamsSuperBound1.tail;
+ allParamsSuperBound2 = allParamsSuperBound2.tail;
+ }
+ Assert.check(allParamsSuperBound1.isEmpty() && allParamsSuperBound2.isEmpty());
+ }
+ }
+ tmpTail = tmpTail.tail;
+ }
+ boundList = boundList.tail;
+ boundListTail = boundList.tail;
+ }
+ }
+
+ @Override
+ boolean accepts(UndetVar uv, InferenceContext inferenceContext) {
+ return !uv.isCaptured() &&
+ uv.getBounds(InferenceBound.UPPER).nonEmpty();
+ }
+ },
+ /**
* Given a bound set containing {@code alpha == S} and {@code alpha == T}
* perform {@code S == T} (which could lead to new bounds).
*/
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Thu Apr 24 16:04:44 2014 -0700
@@ -2359,6 +2359,7 @@
/** Visitor method: Translate a single node.
* Attach the source position from the old tree to its replacement tree.
*/
+ @Override
public <T extends JCTree> T translate(T tree) {
if (tree == null) {
return null;
@@ -2407,39 +2408,39 @@
return trees;
}
- public void visitTopLevel(JCCompilationUnit tree) {
- if (needPackageInfoClass(tree)) {
- Name name = names.package_info;
- long flags = Flags.ABSTRACT | Flags.INTERFACE;
- if (target.isPackageInfoSynthetic())
- // package-info is marked SYNTHETIC in JDK 1.6 and later releases
- flags = flags | Flags.SYNTHETIC;
- JCClassDecl packageAnnotationsClass
- = make.ClassDef(make.Modifiers(flags,
- tree.packageAnnotations),
- name, List.<JCTypeParameter>nil(),
- null, List.<JCExpression>nil(), List.<JCTree>nil());
- ClassSymbol c = tree.packge.package_info;
- c.flags_field |= flags;
- c.setAttributes(tree.packge);
- ClassType ctype = (ClassType) c.type;
- ctype.supertype_field = syms.objectType;
- ctype.interfaces_field = List.nil();
- packageAnnotationsClass.sym = c;
-
- translated.append(packageAnnotationsClass);
- }
+ public void visitPackageDef(JCPackageDecl tree) {
+ if (!needPackageInfoClass(tree))
+ return;
+
+ Name name = names.package_info;
+ long flags = Flags.ABSTRACT | Flags.INTERFACE;
+ if (target.isPackageInfoSynthetic())
+ // package-info is marked SYNTHETIC in JDK 1.6 and later releases
+ flags = flags | Flags.SYNTHETIC;
+ JCClassDecl packageAnnotationsClass
+ = make.ClassDef(make.Modifiers(flags, tree.getAnnotations()),
+ name, List.<JCTypeParameter>nil(),
+ null, List.<JCExpression>nil(), List.<JCTree>nil());
+ ClassSymbol c = tree.packge.package_info;
+ c.flags_field |= flags;
+ c.setAttributes(tree.packge);
+ ClassType ctype = (ClassType) c.type;
+ ctype.supertype_field = syms.objectType;
+ ctype.interfaces_field = List.nil();
+ packageAnnotationsClass.sym = c;
+
+ translated.append(packageAnnotationsClass);
}
// where
- private boolean needPackageInfoClass(JCCompilationUnit tree) {
+ private boolean needPackageInfoClass(JCPackageDecl pd) {
switch (pkginfoOpt) {
case ALWAYS:
return true;
case LEGACY:
- return tree.packageAnnotations.nonEmpty();
+ return pd.getAnnotations().nonEmpty();
case NONEMPTY:
for (Attribute.Compound a :
- tree.packge.getDeclarationAttributes()) {
+ pd.packge.getDeclarationAttributes()) {
Attribute.RetentionPolicy p = types.getRetention(a);
if (p != Attribute.RetentionPolicy.SOURCE)
return true;
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Thu Apr 24 16:04:44 2014 -0700
@@ -493,10 +493,26 @@
return;
}
+ DiagnosticPosition prevLintPos = deferredLintHandler.immediate();
+ Lint prevLint = chk.setLint(lint);
+
+ try {
+ // Import-on-demand java.lang.
+ importAll(tree.pos, syms.enterPackage(names.java_lang), env);
+
+ // Process the package def and all import clauses.
+ memberEnter(tree.defs, env);
+ } finally {
+ chk.setLint(prevLint);
+ deferredLintHandler.setPos(prevLintPos);
+ }
+ }
+
+ public void visitPackageDef(JCPackageDecl tree) {
// check that no class exists with same fully qualified name as
// toplevel package
if (checkClash && tree.pid != null) {
- Symbol p = tree.packge;
+ Symbol p = env.toplevel.packge;
while (p.owner != syms.rootPackage) {
p.owner.complete(); // enter all class members of p
if (syms.classes.get(p.getQualifiedName()) != null) {
@@ -507,23 +523,8 @@
p = p.owner;
}
}
-
// process package annotations
- annotate.annotateLater(tree.packageAnnotations, env, tree.packge, null);
-
- DiagnosticPosition prevLintPos = deferredLintHandler.immediate();
- Lint prevLint = chk.setLint(lint);
-
- try {
- // Import-on-demand java.lang.
- importAll(tree.pos, syms.enterPackage(names.java_lang), env);
-
- // Process all import clauses.
- memberEnter(tree.defs, env);
- } finally {
- chk.setLint(prevLint);
- deferredLintHandler.setPos(prevLintPos);
- }
+ annotate.annotateLater(tree.annotations, env, env.toplevel.packge, null);
}
// process the non-static imports and the static imports of types.
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Thu Apr 24 16:04:44 2014 -0700
@@ -475,14 +475,14 @@
break;
case CONSTANT_Fieldref: {
ClassSymbol owner = readClassSymbol(getChar(index + 1));
- NameAndType nt = (NameAndType)readPool(getChar(index + 3));
+ NameAndType nt = readNameAndType(getChar(index + 3));
poolObj[i] = new VarSymbol(0, nt.name, nt.uniqueType.type, owner);
break;
}
case CONSTANT_Methodref:
case CONSTANT_InterfaceMethodref: {
ClassSymbol owner = readClassSymbol(getChar(index + 1));
- NameAndType nt = (NameAndType)readPool(getChar(index + 3));
+ NameAndType nt = readNameAndType(getChar(index + 3));
poolObj[i] = new MethodSymbol(0, nt.name, nt.uniqueType.type, owner);
break;
}
@@ -551,13 +551,34 @@
/** Read class entry.
*/
ClassSymbol readClassSymbol(int i) {
- return (ClassSymbol) (readPool(i));
+ Object obj = readPool(i);
+ if (obj != null && !(obj instanceof ClassSymbol))
+ throw badClassFile("bad.const.pool.entry",
+ currentClassFile.toString(),
+ "CONSTANT_Class_info", i);
+ return (ClassSymbol)obj;
}
/** Read name.
*/
Name readName(int i) {
- return (Name) (readPool(i));
+ Object obj = readPool(i);
+ if (obj != null && !(obj instanceof Name))
+ throw badClassFile("bad.const.pool.entry",
+ currentClassFile.toString(),
+ "CONSTANT_Utf8_info or CONSTANT_String_info", i);
+ return (Name)obj;
+ }
+
+ /** Read name and type.
+ */
+ NameAndType readNameAndType(int i) {
+ Object obj = readPool(i);
+ if (obj != null && !(obj instanceof NameAndType))
+ throw badClassFile("bad.const.pool.entry",
+ currentClassFile.toString(),
+ "CONSTANT_NameAndType_info", i);
+ return (NameAndType)obj;
}
/************************************************************************
@@ -1209,7 +1230,7 @@
sym.owner.members().remove(sym);
ClassSymbol self = (ClassSymbol)sym;
ClassSymbol c = readClassSymbol(nextChar());
- NameAndType nt = (NameAndType)readPool(nextChar());
+ NameAndType nt = readNameAndType(nextChar());
if (c.members_field == null)
throw badClassFile("bad.enclosing.class", self, c);
--- a/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/main/JavaCompiler.java Thu Apr 24 16:04:44 2014 -0700
@@ -601,8 +601,7 @@
*/
protected JCCompilationUnit parse(JavaFileObject filename, CharSequence content) {
long msec = now();
- JCCompilationUnit tree = make.TopLevel(List.<JCTree.JCAnnotation>nil(),
- null, List.<JCTree>nil());
+ JCCompilationUnit tree = make.TopLevel(List.<JCTree>nil());
if (content != null) {
if (verbose) {
log.printVerbose("parsing.started", filename);
@@ -689,7 +688,7 @@
: make.Select(tree, names.fromString(s));
}
JCCompilationUnit toplevel =
- make.TopLevel(List.<JCTree.JCAnnotation>nil(), null, List.<JCTree>nil());
+ make.TopLevel(List.<JCTree>nil());
toplevel.packge = syms.unnamedPackage;
return attr.attribIdent(tree, toplevel);
} finally {
@@ -768,7 +767,7 @@
tree = parse(filename, filename.getCharContent(false));
} catch (IOException e) {
log.error("error.reading.file", filename, JavacFileManager.getMessage(e));
- tree = make.TopLevel(List.<JCTree.JCAnnotation>nil(), null, List.<JCTree>nil());
+ tree = make.TopLevel(List.<JCTree>nil());
} finally {
log.useSource(prev);
}
@@ -1440,7 +1439,7 @@
make.at(Position.FIRSTPOS);
TreeMaker localMake = make.forToplevel(env.toplevel);
- if (env.tree instanceof JCCompilationUnit) {
+ if (env.tree.hasTag(JCTree.Tag.PACKAGEDEF)) {
if (!(stubOutput || sourceOutput || printFlat)) {
if (shouldStop(CompileState.LOWER))
return;
--- a/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/model/JavacElements.java Thu Apr 24 16:04:44 2014 -0700
@@ -170,8 +170,8 @@
Symbol sym = cast(Symbol.class, e);
class Vis extends JCTree.Visitor {
List<JCAnnotation> result = null;
- public void visitTopLevel(JCCompilationUnit tree) {
- result = tree.packageAnnotations;
+ public void visitPackageDef(JCPackageDecl tree) {
+ result = tree.annotations;
}
public void visitClassDef(JCClassDecl tree) {
result = tree.mods.annotations;
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Thu Apr 24 16:04:44 2014 -0700
@@ -3081,27 +3081,33 @@
*/
public JCTree.JCCompilationUnit parseCompilationUnit() {
Token firstToken = token;
- JCExpression pid = null;
JCModifiers mods = null;
boolean consumedToplevelDoc = false;
boolean seenImport = false;
boolean seenPackage = false;
- List<JCAnnotation> packageAnnotations = List.nil();
+ ListBuffer<JCTree> defs = new ListBuffer<>();
if (token.kind == MONKEYS_AT)
mods = modifiersOpt();
if (token.kind == PACKAGE) {
+ int packagePos = token.pos;
+ List<JCAnnotation> annotations = List.nil();
seenPackage = true;
if (mods != null) {
checkNoMods(mods.flags);
- packageAnnotations = mods.annotations;
+ annotations = mods.annotations;
mods = null;
}
nextToken();
- pid = qualident(false);
+ JCExpression pid = qualident(false);
accept(SEMI);
+ JCPackageDecl pd = F.at(packagePos).PackageDecl(annotations, pid);
+ attach(pd, firstToken.comment(CommentStyle.JAVADOC));
+ consumedToplevelDoc = true;
+ storeEnd(pd, token.pos);
+ defs.append(pd);
}
- ListBuffer<JCTree> defs = new ListBuffer<>();
+
boolean checkForImports = true;
boolean firstTypeDecl = true;
while (token.kind != EOF) {
@@ -3130,7 +3136,7 @@
firstTypeDecl = false;
}
}
- JCTree.JCCompilationUnit toplevel = F.at(firstToken.pos).TopLevel(packageAnnotations, pid, defs.toList());
+ JCTree.JCCompilationUnit toplevel = F.at(firstToken.pos).TopLevel(defs.toList());
if (!consumedToplevelDoc)
attach(toplevel, firstToken.comment(CommentStyle.JAVADOC));
if (defs.isEmpty())
@@ -3417,16 +3423,28 @@
* | ModifiersOpt
* ( Type Ident
* ( VariableDeclaratorsRest ";" | MethodDeclaratorRest )
- * | VOID Ident MethodDeclaratorRest
- * | TypeParameters (Type | VOID) Ident MethodDeclaratorRest
+ * | VOID Ident VoidMethodDeclaratorRest
+ * | TypeParameters [Annotations]
+ * ( Type Ident MethodDeclaratorRest
+ * | VOID Ident VoidMethodDeclaratorRest
+ * )
* | Ident ConstructorDeclaratorRest
* | TypeParameters Ident ConstructorDeclaratorRest
* | ClassOrInterfaceOrEnumDeclaration
* )
* InterfaceBodyDeclaration =
* ";"
- * | ModifiersOpt Type Ident
- * ( ConstantDeclaratorsRest | InterfaceMethodDeclaratorRest ";" )
+ * | ModifiersOpt
+ * ( Type Ident
+ * ( ConstantDeclaratorsRest ";" | MethodDeclaratorRest )
+ * | VOID Ident MethodDeclaratorRest
+ * | TypeParameters [Annotations]
+ * ( Type Ident MethodDeclaratorRest
+ * | VOID Ident VoidMethodDeclaratorRest
+ * )
+ * | ClassOrInterfaceOrEnumDeclaration
+ * )
+ *
*/
protected List<JCTree> classOrInterfaceBodyDeclaration(Name className, boolean isInterface) {
if (token.kind == SEMI) {
@@ -3458,28 +3476,29 @@
}
List<JCAnnotation> annosAfterParams = annotationsOpt(Tag.ANNOTATION);
+ if (annosAfterParams.nonEmpty()) {
+ checkAnnotationsAfterTypeParams(annosAfterParams.head.pos);
+ mods.annotations = mods.annotations.appendList(annosAfterParams);
+ if (mods.pos == Position.NOPOS)
+ mods.pos = mods.annotations.head.pos;
+ }
+
Token tk = token;
pos = token.pos;
JCExpression type;
boolean isVoid = token.kind == VOID;
if (isVoid) {
- if (annosAfterParams.nonEmpty())
- illegal(annosAfterParams.head.pos);
type = to(F.at(pos).TypeIdent(TypeTag.VOID));
nextToken();
} else {
- if (annosAfterParams.nonEmpty()) {
- checkAnnotationsAfterTypeParams(annosAfterParams.head.pos);
- mods.annotations = mods.annotations.appendList(annosAfterParams);
- if (mods.pos == Position.NOPOS)
- mods.pos = mods.annotations.head.pos;
- }
// method returns types are un-annotated types
type = unannotatedType();
}
if (token.kind == LPAREN && !isInterface && type.hasTag(IDENT)) {
if (isInterface || tk.name() != className)
error(pos, "invalid.meth.decl.ret.type.req");
+ else if (annosAfterParams.nonEmpty())
+ illegal(annosAfterParams.head.pos);
return List.of(methodDeclaratorRest(
pos, mods, null, names.init, typarams,
isInterface, true, dc));
@@ -3511,13 +3530,9 @@
}
/** MethodDeclaratorRest =
- * FormalParameters BracketsOpt [Throws TypeList] ( MethodBody | [DEFAULT AnnotationValue] ";")
+ * FormalParameters BracketsOpt [THROWS TypeList] ( MethodBody | [DEFAULT AnnotationValue] ";")
* VoidMethodDeclaratorRest =
- * FormalParameters [Throws TypeList] ( MethodBody | ";")
- * InterfaceMethodDeclaratorRest =
- * FormalParameters BracketsOpt [THROWS TypeList] ";"
- * VoidInterfaceMethodDeclaratorRest =
- * FormalParameters [THROWS TypeList] ";"
+ * FormalParameters [THROWS TypeList] ( MethodBody | ";")
* ConstructorDeclaratorRest =
* "(" FormalParameterListOpt ")" [THROWS TypeList] MethodBody
*/
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Thu Apr 24 16:04:44 2014 -0700
@@ -738,6 +738,9 @@
bad return type in method reference\n\
{0}
+compiler.err.lambda.body.neither.value.nor.void.compatible=\
+ lambda body is neither value nor void compatible
+
# 0: list of type
compiler.err.incompatible.thrown.types.in.mref=\
incompatible thrown types {0} in method reference
@@ -1716,6 +1719,11 @@
compiler.misc.bad.class.file=\
class file is invalid for class {0}
+# 0: file name, 1: expected CP entry type, 2: constant pool index
+compiler.misc.bad.const.pool.entry=\
+ bad constant pool entry in {0}\n\
+ expected {1} at index {2}
+
# 0: file name, 1: message segment
compiler.misc.bad.class.file.header=\
bad class file: {0}\n\
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/JCTree.java Thu Apr 24 16:04:44 2014 -0700
@@ -89,6 +89,10 @@
*/
TOPLEVEL,
+ /** Package level definitions.
+ */
+ PACKAGEDEF,
+
/** Import clauses, of type Import.
*/
IMPORT,
@@ -478,9 +482,6 @@
* Everything in one source file is kept in a {@linkplain JCCompilationUnit} structure.
*/
public static class JCCompilationUnit extends JCTree implements CompilationUnitTree {
- public List<JCAnnotation> packageAnnotations;
- /** The tree representing the package clause. */
- public JCExpression pid;
/** All definitions in this file (ClassDef, Import, and Skip) */
public List<JCTree> defs;
/* The source file name. */
@@ -499,39 +500,39 @@
/* An object encapsulating ending positions of source ranges indexed by
* the tree nodes they belong to. Defined only if option -Xjcov is set. */
public EndPosTable endPositions = null;
- protected JCCompilationUnit(List<JCAnnotation> packageAnnotations,
- JCExpression pid,
- List<JCTree> defs,
- JavaFileObject sourcefile,
- PackageSymbol packge,
- ImportScope namedImportScope,
- StarImportScope starImportScope) {
- this.packageAnnotations = packageAnnotations;
- this.pid = pid;
+ protected JCCompilationUnit(List<JCTree> defs) {
this.defs = defs;
- this.sourcefile = sourcefile;
- this.packge = packge;
- this.namedImportScope = namedImportScope;
- this.starImportScope = starImportScope;
}
@Override
public void accept(Visitor v) { v.visitTopLevel(this); }
public Kind getKind() { return Kind.COMPILATION_UNIT; }
+
+ public JCPackageDecl getPackage() {
+ // PackageDecl must be the first entry if it exists
+ if (!defs.isEmpty() && defs.head.hasTag(PACKAGEDEF))
+ return (JCPackageDecl)defs.head;
+ return null;
+ }
public List<JCAnnotation> getPackageAnnotations() {
- return packageAnnotations;
+ JCPackageDecl pd = getPackage();
+ return pd != null ? pd.getAnnotations() : List.<JCAnnotation>nil();
}
+ public ExpressionTree getPackageName() {
+ JCPackageDecl pd = getPackage();
+ return pd != null ? pd.getPackageName() : null;
+ }
+
public List<JCImport> getImports() {
ListBuffer<JCImport> imports = new ListBuffer<>();
for (JCTree tree : defs) {
if (tree.hasTag(IMPORT))
imports.append((JCImport)tree);
- else if (!tree.hasTag(SKIP))
+ else if (!tree.hasTag(PACKAGEDEF) && !tree.hasTag(SKIP))
break;
}
return imports.toList();
}
- public JCExpression getPackageName() { return pid; }
public JavaFileObject getSourceFile() {
return sourcefile;
}
@@ -541,7 +542,7 @@
public List<JCTree> getTypeDecls() {
List<JCTree> typeDefs;
for (typeDefs = defs; !typeDefs.isEmpty(); typeDefs = typeDefs.tail)
- if (!typeDefs.head.hasTag(IMPORT))
+ if (!typeDefs.head.hasTag(PACKAGEDEF) && !typeDefs.head.hasTag(IMPORT))
break;
return typeDefs;
}
@@ -557,6 +558,39 @@
}
/**
+ * Package definition.
+ */
+ public static class JCPackageDecl extends JCTree implements PackageTree {
+ public List<JCAnnotation> annotations;
+ /** The tree representing the package clause. */
+ public JCExpression pid;
+ public PackageSymbol packge;
+ public JCPackageDecl(List<JCAnnotation> annotations, JCExpression pid) {
+ this.annotations = annotations;
+ this.pid = pid;
+ }
+ @Override
+ public void accept(Visitor v) { v.visitPackageDef(this); }
+ public Kind getKind() {
+ return Kind.PACKAGE;
+ }
+ public List<JCAnnotation> getAnnotations() {
+ return annotations;
+ }
+ public JCExpression getPackageName() {
+ return pid;
+ }
+ @Override
+ public <R,D> R accept(TreeVisitor<R,D> v, D d) {
+ return v.visitPackage(this, d);
+ }
+ @Override
+ public Tag getTag() {
+ return PACKAGEDEF;
+ }
+ }
+
+ /**
* An import clause.
*/
public static class JCImport extends JCTree implements ImportTree {
@@ -2438,9 +2472,9 @@
/** An interface for tree factories
*/
public interface Factory {
- JCCompilationUnit TopLevel(List<JCAnnotation> packageAnnotations,
- JCExpression pid,
- List<JCTree> defs);
+ JCCompilationUnit TopLevel(List<JCTree> defs);
+ JCPackageDecl PackageDecl(List<JCAnnotation> annotations,
+ JCExpression pid);
JCImport Import(JCTree qualid, boolean staticImport);
JCClassDecl ClassDef(JCModifiers mods,
Name name,
@@ -2528,6 +2562,7 @@
*/
public static abstract class Visitor {
public void visitTopLevel(JCCompilationUnit that) { visitTree(that); }
+ public void visitPackageDef(JCPackageDecl that) { visitTree(that); }
public void visitImport(JCImport that) { visitTree(that); }
public void visitClassDef(JCClassDecl that) { visitTree(that); }
public void visitMethodDef(JCMethodDecl that) { visitTree(that); }
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/Pretty.java Thu Apr 24 16:04:44 2014 -0700
@@ -367,16 +367,13 @@
public void printUnit(JCCompilationUnit tree, JCClassDecl cdef) throws IOException {
docComments = tree.docComments;
printDocComment(tree);
- if (tree.pid != null) {
- print("package ");
- printExpr(tree.pid);
- print(";");
- println();
- }
+
boolean firstImport = true;
for (List<JCTree> l = tree.defs;
- l.nonEmpty() && (cdef == null || l.head.hasTag(IMPORT));
- l = l.tail) {
+ l.nonEmpty() &&
+ (cdef == null ||
+ l.head.hasTag(IMPORT) || l.head.hasTag(PACKAGEDEF));
+ l = l.tail) {
if (l.head.hasTag(IMPORT)) {
JCImport imp = (JCImport)l.head;
Name name = TreeInfo.name(imp.qualid);
@@ -426,6 +423,21 @@
}
}
+ public void visitPackageDef(JCPackageDecl tree) {
+ try {
+ printDocComment(tree);
+ printAnnotations(tree.annotations);
+ if (tree.pid != null) {
+ print("package ");
+ printExpr(tree.pid);
+ print(";");
+ println();
+ }
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+
public void visitImport(JCImport tree) {
try {
print("import ");
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeCopier.java Thu Apr 24 16:04:44 2014 -0700
@@ -346,10 +346,15 @@
public JCTree visitCompilationUnit(CompilationUnitTree node, P p) {
JCCompilationUnit t = (JCCompilationUnit) node;
- List<JCAnnotation> packageAnnotations = copy(t.packageAnnotations, p);
+ List<JCTree> defs = copy(t.defs, p);
+ return M.at(t.pos).TopLevel(defs);
+ }
+
+ public JCTree visitPackage(PackageTree node, P p) {
+ JCPackageDecl t = (JCPackageDecl) node;
+ List<JCAnnotation> annotations = copy(t.annotations, p);
JCExpression pid = copy(t.pid, p);
- List<JCTree> defs = copy(t.defs, p);
- return M.at(t.pos).TopLevel(packageAnnotations, pid, defs);
+ return M.at(t.pos).PackageDecl(annotations, pid);
}
public JCTree visitTry(TryTree node, P p) {
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Thu Apr 24 16:04:44 2014 -0700
@@ -406,6 +406,11 @@
return Position.NOPOS;
switch(tree.getTag()) {
+ case PACKAGEDEF: {
+ JCPackageDecl pd = (JCPackageDecl)tree;
+ return pd.annotations.isEmpty() ? pd.pos :
+ pd.annotations.head.pos;
+ }
case APPLY:
return getStartPos(((JCMethodInvocation) tree).meth);
case ASSIGN:
@@ -788,6 +793,8 @@
switch (node.getTag()) {
case TOPLEVEL:
return ((JCCompilationUnit) node).packge;
+ case PACKAGEDEF:
+ return ((JCPackageDecl) node).packge;
case CLASSDEF:
return ((JCClassDecl) node).sym;
case METHODDEF:
@@ -820,6 +827,7 @@
public static boolean isDeclaration(JCTree node) {
node = skipParens(node);
switch (node.getTag()) {
+ case PACKAGEDEF:
case CLASSDEF:
case METHODDEF:
case VARDEF:
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Thu Apr 24 16:04:44 2014 -0700
@@ -116,22 +116,28 @@
/**
* Create given tree node at current position.
- * @param defs a list of ClassDef, Import, and Skip
+ * @param defs a list of PackageDef, ClassDef, Import, and Skip
*/
- public JCCompilationUnit TopLevel(List<JCAnnotation> packageAnnotations,
- JCExpression pid,
- List<JCTree> defs) {
- Assert.checkNonNull(packageAnnotations);
+ public JCCompilationUnit TopLevel(List<JCTree> defs) {
for (JCTree node : defs)
Assert.check(node instanceof JCClassDecl
+ || node instanceof JCPackageDecl
|| node instanceof JCImport
|| node instanceof JCSkip
|| node instanceof JCErroneous
|| (node instanceof JCExpressionStatement
&& ((JCExpressionStatement)node).expr instanceof JCErroneous),
node.getClass().getSimpleName());
- JCCompilationUnit tree = new JCCompilationUnit(packageAnnotations, pid, defs,
- null, null, null, null);
+ JCCompilationUnit tree = new JCCompilationUnit(defs);
+ tree.pos = pos;
+ return tree;
+ }
+
+ public JCPackageDecl PackageDecl(List<JCAnnotation> annotations,
+ JCExpression pid) {
+ Assert.checkNonNull(annotations);
+ Assert.checkNonNull(pid);
+ JCPackageDecl tree = new JCPackageDecl(annotations, pid);
tree.pos = pos;
return tree;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Thu Apr 24 16:04:44 2014 -0700
@@ -63,9 +63,12 @@
****************************************************************************/
public void visitTopLevel(JCCompilationUnit tree) {
- scan(tree.packageAnnotations);
+ scan(tree.defs);
+ }
+
+ public void visitPackageDef(JCPackageDecl tree) {
+ scan(tree.annotations);
scan(tree.pid);
- scan(tree.defs);
}
public void visitImport(JCImport tree) {
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeTranslator.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -56,9 +56,9 @@
return null;
} else {
tree.accept(this);
- JCTree result = this.result;
+ JCTree tmpResult = this.result;
this.result = null;
- return (T)result; // XXX cast
+ return (T)tmpResult; // XXX cast
}
}
@@ -116,8 +116,13 @@
****************************************************************************/
public void visitTopLevel(JCCompilationUnit tree) {
+ tree.defs = translate(tree.defs);
+ result = tree;
+ }
+
+ public void visitPackageDef(JCPackageDecl tree) {
+ tree.annotations = translate(tree.annotations);
tree.pid = translate(tree.pid);
- tree.defs = translate(tree.defs);
result = tree;
}
--- a/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/DocEnv.java Thu Apr 24 16:04:44 2014 -0700
@@ -743,6 +743,13 @@
return p;
}
+ TreePath getTreePath(JCCompilationUnit toplevel, JCPackageDecl tree) {
+ TreePath p = treePaths.get(tree);
+ if (p == null)
+ treePaths.put(tree, p = new TreePath(getTreePath(toplevel), tree));
+ return p;
+ }
+
TreePath getTreePath(JCCompilationUnit toplevel, JCClassDecl tree) {
TreePath p = treePaths.get(tree);
if (p == null)
--- a/langtools/src/share/classes/com/sun/tools/javadoc/JavadocEnter.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/JavadocEnter.java Thu Apr 24 16:04:44 2014 -0700
@@ -27,6 +27,7 @@
import javax.tools.JavaFileObject;
+import com.sun.source.util.TreePath;
import com.sun.tools.javac.code.Kinds;
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.comp.Enter;
@@ -84,7 +85,9 @@
public void visitTopLevel(JCCompilationUnit tree) {
super.visitTopLevel(tree);
if (tree.sourcefile.isNameCompatible("package-info", JavaFileObject.Kind.SOURCE)) {
- docenv.makePackageDoc(tree.packge, docenv.getTreePath(tree));
+ JCPackageDecl pd = tree.getPackage();
+ TreePath tp = pd == null ? docenv.getTreePath(tree) : docenv.getTreePath(tree, pd);
+ docenv.makePackageDoc(tree.packge, tp);
}
}
--- a/langtools/src/share/classes/com/sun/tools/sjavac/CleanProperties.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/CleanProperties.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -29,13 +29,14 @@
import java.net.URI;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.HashSet;
import java.util.Map;
import java.util.Properties;
+import com.sun.tools.sjavac.options.Options;
+
/**
* The clean properties transform should not be necessary.
* Eventually we will cleanup the property file sources in the OpenJDK instead.
@@ -51,7 +52,7 @@
// Any extra information is ignored for clean properties.
}
- public void setExtra(String[] a) {
+ public void setExtra(Options a) {
// Any extra information is ignored for clean properties.
}
--- a/langtools/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,15 +25,16 @@
package com.sun.tools.sjavac;
+import java.io.PrintStream;
import java.net.URI;
import java.util.Arrays;
import java.util.Random;
import java.util.Set;
import java.util.Map;
+import com.sun.tools.sjavac.options.Options;
import com.sun.tools.sjavac.server.JavacServer;
import com.sun.tools.sjavac.server.SysInfo;
-import java.io.PrintStream;
/**
* This transform compiles a set of packages containing Java sources.
@@ -54,13 +55,12 @@
// We hope to improve this in the future.
final static int limitOnConcurrency = 3;
- String serverSettings;
+ Options args;
+
public void setExtra(String e) {
- serverSettings = e;
}
- String[] args;
- public void setExtra(String[] a) {
+ public void setExtra(Options a) {
args = a;
}
@@ -82,14 +82,14 @@
boolean concurrentCompiles = true;
// Fetch the id.
- String id = Util.extractStringOption("id", serverSettings);
+ String id = Util.extractStringOption("id", args.getServerConf());
if (id == null || id.equals("")) {
// No explicit id set. Create a random id so that the requests can be
// grouped properly in the server.
id = "id"+(((new Random()).nextLong())&Long.MAX_VALUE);
}
// Only keep portfile and sjavac settings..
- String psServerSettings = Util.cleanSubOptions("--server:", Util.set("portfile","sjavac","background","keepalive"), serverSettings);
+ String psServerSettings = Util.cleanSubOptions(Util.set("portfile","sjavac","background","keepalive"), args.getServerConf());
// Get maximum heap size from the server!
SysInfo sysinfo = JavacServer.connectGetSysInfo(psServerSettings, out, err);
@@ -223,7 +223,7 @@
@Override
public void run() {
rn[ii] = JavacServer.useServer(cleanedServerSettings,
- Main.removeWrapperArgs(args),
+ args.prepJavacArgs(),
cc.srcs,
fvisible_sources,
fvisible_classes,
--- a/langtools/src/share/classes/com/sun/tools/sjavac/CompileProperties.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/CompileProperties.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -37,6 +37,8 @@
import java.util.HashSet;
import java.util.Map;
+import com.sun.tools.sjavac.options.Options;
+
/**
* Compile properties transform a properties file into a Java source file.
* Java has built in support for reading properties from either a text file
@@ -58,7 +60,7 @@
extra = e;
}
- public void setExtra(String[] a) {
+ public void setExtra(Options a) {
}
public boolean transform(Map<String,Set<URI>> pkgSrcs,
--- a/langtools/src/share/classes/com/sun/tools/sjavac/CopyFile.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/CopyFile.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,8 @@
import java.util.HashSet;
import java.util.Map;
+import com.sun.tools.sjavac.options.Options;
+
/**
* The copy file transform simply copies a matching file from -src to -d .
* Such files are typically images, xml documents and other data files.
@@ -45,7 +47,7 @@
public void setExtra(String e) {
}
- public void setExtra(String[] a) {
+ public void setExtra(Options a) {
}
public boolean transform(Map<String,Set<URI>> pkgSrcs,
--- a/langtools/src/share/classes/com/sun/tools/sjavac/JavacState.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/JavacState.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
package com.sun.tools.sjavac;
import java.io.*;
+import java.nio.file.Path;
import java.util.Collections;
import java.util.Date;
import java.util.Set;
@@ -37,6 +38,9 @@
import java.net.URI;
import java.util.*;
+import com.sun.tools.sjavac.options.Options;
+import com.sun.tools.sjavac.options.SourceLocation;
+
/**
* The javac state class maintains the previous (prev) and the current (now)
* build states and everything else that goes into the javac_state file.
@@ -117,25 +121,20 @@
// It can also map from a jar file to the set of visible classes for that jar file.
Map<URI,Set<String>> visibleClasses;
- // Setup two transforms that always exist.
- private CopyFile copyFiles = new CopyFile();
+ // Setup transform that always exist.
private CompileJavaPackages compileJavaPackages = new CompileJavaPackages();
// Where to send stdout and stderr.
private PrintStream out, err;
- JavacState(String[] args, File bd, File gd, File hd, boolean permitUnidentifiedArtifacts, boolean removeJavacState,
- PrintStream o, PrintStream e) {
+ JavacState(Options options, boolean removeJavacState, PrintStream o, PrintStream e) {
out = o;
err = e;
- numCores = Main.findNumberOption(args, "-j");
- theArgs = "";
- for (String a : removeArgsNotAffectingState(args)) {
- theArgs = theArgs+a+" ";
- }
- binDir = bd;
- gensrcDir = gd;
- headerDir = hd;
+ numCores = options.getNumCores();
+ theArgs = options.getStateArgsString();
+ binDir = Util.pathToFile(options.getDestDir());
+ gensrcDir = Util.pathToFile(options.getGenSrcDir());
+ headerDir = Util.pathToFile(options.getHeaderDir());
javacStateFilename = binDir.getPath()+File.separator+"javac_state";
javacState = new File(javacStateFilename);
if (removeJavacState && javacState.exists()) {
@@ -148,7 +147,7 @@
// We do not want to risk building a broken incremental build.
// BUT since the makefiles still copy things straight into the bin_dir et al,
// we avoid deleting files here, if the option --permit-unidentified-classes was supplied.
- if (!permitUnidentifiedArtifacts) {
+ if (!options.isUnidentifiedArtifactPermitted()) {
deleteContents(binDir);
deleteContents(gensrcDir);
deleteContents(headerDir);
@@ -301,9 +300,8 @@
/**
* Load a javac_state file.
*/
- public static JavacState load(String[] args, File binDir, File gensrcDir, File headerDir,
- boolean permitUnidentifiedArtifacts, PrintStream out, PrintStream err) {
- JavacState db = new JavacState(args, binDir, gensrcDir, headerDir, permitUnidentifiedArtifacts, false, out, err);
+ public static JavacState load(Options options, PrintStream out, PrintStream err) {
+ JavacState db = new JavacState(options, false, out, err);
Module lastModule = null;
Package lastPackage = null;
Source lastSource = null;
@@ -370,22 +368,22 @@
noFileFound = true;
} catch (IOException e) {
Log.info("Dropping old javac_state because of errors when reading it.");
- db = new JavacState(args, binDir, gensrcDir, headerDir, permitUnidentifiedArtifacts, true, out, err);
+ db = new JavacState(options, true, out, err);
foundCorrectVerNr = true;
newCommandLine = false;
syntaxError = false;
}
if (foundCorrectVerNr == false && !noFileFound) {
Log.info("Dropping old javac_state since it is of an old version.");
- db = new JavacState(args, binDir, gensrcDir, headerDir, permitUnidentifiedArtifacts, true, out, err);
+ db = new JavacState(options, true, out, err);
} else
if (newCommandLine == true && !noFileFound) {
Log.info("Dropping old javac_state since a new command line is used!");
- db = new JavacState(args, binDir, gensrcDir, headerDir, permitUnidentifiedArtifacts, true, out, err);
+ db = new JavacState(options, true, out, err);
} else
if (syntaxError == true) {
Log.info("Dropping old javac_state since it contains syntax errors.");
- db = new JavacState(args, binDir, gensrcDir, headerDir, permitUnidentifiedArtifacts, true, out, err);
+ db = new JavacState(options, true, out, err);
}
db.prev.calculateDependents();
return db;
@@ -467,12 +465,6 @@
return sr;
}
- /**
- * Acquire the copying transform.
- */
- public Transformer getCopier() {
- return copyFiles;
- }
/**
* If artifacts have gone missing, force a recompile of the packages
@@ -629,7 +621,7 @@
public void performCopying(File binDir, Map<String,Transformer> suffixRules) {
Map<String,Transformer> sr = new HashMap<>();
for (Map.Entry<String,Transformer> e : suffixRules.entrySet()) {
- if (e.getValue() == copyFiles) {
+ if (e.getValue().getClass().equals(CopyFile.class)) {
sr.put(e.getKey(), e.getValue());
}
}
@@ -643,10 +635,11 @@
public void performTranslation(File gensrcDir, Map<String,Transformer> suffixRules) {
Map<String,Transformer> sr = new HashMap<>();
for (Map.Entry<String,Transformer> e : suffixRules.entrySet()) {
- if (e.getValue() != copyFiles &&
- e.getValue() != compileJavaPackages) {
- sr.put(e.getKey(), e.getValue());
- }
+ Class<?> trClass = e.getValue().getClass();
+ if (trClass == CompileJavaPackages.class || trClass == CopyFile.class)
+ continue;
+
+ sr.put(e.getKey(), e.getValue());
}
perform(gensrcDir, sr);
}
@@ -654,14 +647,11 @@
/**
* Compile all the java sources. Return true, if it needs to be called again!
*/
- public boolean performJavaCompilations(File binDir,
- String serverSettings,
- String[] args,
+ public boolean performJavaCompilations(Options args,
Set<String> recentlyCompiled,
boolean[] rcValue) {
Map<String,Transformer> suffixRules = new HashMap<>();
suffixRules.put(".java", compileJavaPackages);
- compileJavaPackages.setExtra(serverSettings);
compileJavaPackages.setExtra(args);
rcValue[0] = perform(binDir, suffixRules);
@@ -813,7 +803,10 @@
for (Source s : now.sources().values()) {
// Don't include link only sources when comparing sources to compile
if (!s.isLinkedOnly()) {
- calculatedSources.add(s.file().getPath());
+ String path = s.file().getPath();
+ if (mightNeedRewriting)
+ path = Util.normalizeDriveLetter(path);
+ calculatedSources.add(path);
}
}
// Read in the file and create another set of filenames with full paths.
--- a/langtools/src/share/classes/com/sun/tools/sjavac/Log.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/Log.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -71,17 +71,19 @@
err.println(msg);
}
- static public void setLogLevel(String l, PrintStream o, PrintStream e)
- throws ProblemException {
+ static public void initializeLog(PrintStream o, PrintStream e) {
out = o;
err = e;
+ }
+
+ static public void setLogLevel(String l) {
switch (l) {
case "warn": level = WARN; break;
case "info": level = INFO; break;
case "debug": level = DEBUG; break;
case "trace": level = TRACE; break;
default:
- throw new ProblemException("No such log level \"" + l + "\"");
+ throw new IllegalArgumentException("No such log level \"" + l + "\"");
}
}
--- a/langtools/src/share/classes/com/sun/tools/sjavac/Main.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/Main.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -25,13 +25,14 @@
package com.sun.tools.sjavac;
-import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import java.nio.file.Path;
+import java.nio.file.Files;
+import com.sun.tools.sjavac.options.Options;
+import com.sun.tools.sjavac.options.SourceLocation;
import com.sun.tools.sjavac.server.JavacServer;
/**
@@ -151,24 +152,8 @@
The resulting classes are written into bin.
*/
- // This is the final destination for classes and copied files.
- private File bin_dir;
- // This is where the annotation process will put generated sources.
- private File gensrc_dir;
- // This is where javac -h puts the generated c-header files.
- private File header_dir;
-
- // This file contains the list of sources genereated by the makefile.
- // We double check that our calculated list of sources matches this list,
- // if not, then we terminate with an error!
- private File makefile_source_list;
- // The challenging task to manage an incremental build is done by javac_state.
private JavacState javac_state;
- // The suffix rules tells you for example, that .java files should be compiled,
- // and .html files should be copied and .properties files be translated.
- Map<String,Transformer> suffix_rules;
-
public static void main(String... args) {
if (args.length > 0 && args[0].startsWith("--startserver:")) {
if (args.length>1) {
@@ -199,118 +184,142 @@
}
public int go(String[] args, PrintStream out, PrintStream err) {
+
+ Log.initializeLog(out, err);
+
+ Options options;
try {
- if (args.length == 0 || findJavaSourceFiles(args) || findAtFile(args) || null==Util.findServerSettings(args)) {
- printHelp();
- return 0;
- }
+ options = Options.parseArgs(args);
+ } catch (IllegalArgumentException e) {
+ Log.error(e.getMessage());
+ return -1;
+ }
+
+ Log.setLogLevel(options.getLogLevel());
- Log.setLogLevel(findLogLevel(args), out, err);
- String server_settings = Util.findServerSettings(args);
- args = verifyImplicitOption(args);
- // Find the source root directories, and add the -src option before these, if not there already.
- args = addSrcBeforeDirectories(args);
- // Check that there is at least one -src supplied.
- checkSrcOption(args);
- // Check that there is one -d supplied.
- bin_dir = findDirectoryOption(args,"-d","output", true, false, true);
- gensrc_dir = findDirectoryOption(args,"-s","gensrc", false, false, true);
- header_dir = findDirectoryOption(args,"-h","headers", false, false, true);
- makefile_source_list = findFileOption(args,"--compare-found-sources","makefile source list", false);
+ if (!validateOptions(options))
+ return -1;
+
+ if (!createIfMissing(options.getDestDir()))
+ return -1;
- // Load the prev build state database.
- javac_state = JavacState.load(args, bin_dir, gensrc_dir, header_dir,
- findBooleanOption(args, "--permit-unidentified-artifacts"), out, err);
+ Path gensrc = options.getGenSrcDir();
+ if (gensrc != null && !createIfMissing(gensrc))
+ return -1;
+
+ Path hdrdir = options.getHeaderDir();
+ if (hdrdir != null && !createIfMissing(hdrdir))
+ return -1;
+
+ // Load the prev build state database.
+ javac_state = JavacState.load(options, out, err);
- // Setup the suffix rules from the command line.
- suffix_rules = javac_state.getJavaSuffixRule();
- findTranslateOptions(args, suffix_rules);
- if (suffix_rules.keySet().size() > 1 && gensrc_dir == null) {
- Log.error("You have translators but no gensrc dir (-s) specified!");
- return -1;
- }
- findCopyOptions(args, suffix_rules);
+ // Setup the suffix rules from the command line.
+ Map<String, Transformer> suffixRules = new HashMap<>();
+
+ // Handling of .java-compilation
+ suffixRules.putAll(javac_state.getJavaSuffixRule());
+
+ // Handling of -copy and -tr
+ suffixRules.putAll(options.getTranslationRules());
+
+ // All found modules are put here.
+ Map<String,Module> modules = new HashMap<>();
+ // We start out in the legacy empty no-name module.
+ // As soon as we stumble on a module-info.java file we change to that module.
+ Module current_module = new Module("", "");
+ modules.put("", current_module);
- // All found modules are put here.
- Map<String,Module> modules = new HashMap<>();
- // We start out in the legacy empty no-name module.
- // As soon as we stumble on a module-info.java file we change to that module.
- Module current_module = new Module("", "");
- modules.put("", current_module);
+ // Find all sources, use the suffix rules to know which files are sources.
+ Map<String,Source> sources = new HashMap<>();
- // Find all sources, use the suffix rules to know which files are sources.
- Map<String,Source> sources = new HashMap<>();
- // Find the files, this will automatically populate the found modules
- // with found packages where the sources are found!
- findFiles(args, "-src", suffix_rules.keySet(), sources, modules, current_module, false);
+ // Find the files, this will automatically populate the found modules
+ // with found packages where the sources are found!
+ findSourceFiles(options.getSources(),
+ suffixRules.keySet(),
+ sources,
+ modules,
+ current_module,
+ options.isDefaultPackagePermitted(),
+ false);
- if (sources.isEmpty()) {
- Log.error("Found nothing to compile!");
- return -1;
- }
+ if (sources.isEmpty()) {
+ Log.error("Found nothing to compile!");
+ return -1;
+ }
- // Create a map of all source files that are available for linking. Both -src and
- // -sourcepath point to such files. It is possible to specify multiple
- // -sourcepath options to enable different filtering rules. If the
- // filters are the same for multiple sourcepaths, they may be concatenated
- // using :(;). Before sending the list of sourcepaths to javac, they are
- // all concatenated. The list created here is used by the SmartFileWrapper to
- // make sure only the correct sources are actually available.
- // We might find more modules here as well.
- Map<String,Source> sources_to_link_to = new HashMap<>();
- findFiles(args, "-src", Util.set(".java"), sources_to_link_to, modules, current_module, true);
- findFiles(args, "-sourcepath", Util.set(".java"), sources_to_link_to, modules, current_module, true);
- // Rewrite the -src option to make it through to the javac instances.
- rewriteOptions(args, "-src", "-sourcepath");
+ // Create a map of all source files that are available for linking. Both -src and
+ // -sourcepath point to such files. It is possible to specify multiple
+ // -sourcepath options to enable different filtering rules. If the
+ // filters are the same for multiple sourcepaths, they may be concatenated
+ // using :(;). Before sending the list of sourcepaths to javac, they are
+ // all concatenated. The list created here is used by the SmartFileWrapper to
+ // make sure only the correct sources are actually available.
+ // We might find more modules here as well.
+ Map<String,Source> sources_to_link_to = new HashMap<>();
- // Find all class files allowable for linking.
- // And pickup knowledge of all modules found here.
- // This cannot currently filter classes inside jar files.
-// Map<String,Source> classes_to_link_to = new HashMap<String,Source>();
-// findFiles(args, "-classpath", Util.set(".class"), classes_to_link_to, modules, current_module, true);
+ List<SourceLocation> sourceResolutionLocations = new ArrayList<>();
+ sourceResolutionLocations.addAll(options.getSources());
+ sourceResolutionLocations.addAll(options.getSourceSearchPaths());
+ findSourceFiles(sourceResolutionLocations,
+ Collections.singleton(".java"),
+ sources_to_link_to,
+ modules,
+ current_module,
+ options.isDefaultPackagePermitted(),
+ true);
- // Find all module sources allowable for linking.
-// Map<String,Source> modules_to_link_to = new HashMap<String,Source>();
-// findFiles(args, "-modulepath", Util.set(".class"), modules_to_link_to, modules, current_module, true);
+ // Find all class files allowable for linking.
+ // And pickup knowledge of all modules found here.
+ // This cannot currently filter classes inside jar files.
+// Map<String,Source> classes_to_link_to = new HashMap<String,Source>();
+// findFiles(args, "-classpath", Util.set(".class"), classes_to_link_to, modules, current_module, true);
- // Add the set of sources to the build database.
- javac_state.now().flattenPackagesSourcesAndArtifacts(modules);
- javac_state.now().checkInternalState("checking sources", false, sources);
- javac_state.now().checkInternalState("checking linked sources", true, sources_to_link_to);
- javac_state.setVisibleSources(sources_to_link_to);
+ // Find all module sources allowable for linking.
+// Map<String,Source> modules_to_link_to = new HashMap<String,Source>();
+// findFiles(args, "-modulepath", Util.set(".class"), modules_to_link_to, modules, current_module, true);
- // If there is any change in the source files, taint packages
- // and mark the database in need of saving.
- javac_state.checkSourceStatus(false);
+ // Add the set of sources to the build database.
+ javac_state.now().flattenPackagesSourcesAndArtifacts(modules);
+ javac_state.now().checkInternalState("checking sources", false, sources);
+ javac_state.now().checkInternalState("checking linked sources", true, sources_to_link_to);
+ javac_state.setVisibleSources(sources_to_link_to);
- // Find all existing artifacts. Their timestamp will match the last modified timestamps stored
- // in javac_state, simply because loading of the JavacState will clean out all artifacts
- // that do not match the javac_state database.
- javac_state.findAllArtifacts();
+ // If there is any change in the source files, taint packages
+ // and mark the database in need of saving.
+ javac_state.checkSourceStatus(false);
+
+ // Find all existing artifacts. Their timestamp will match the last modified timestamps stored
+ // in javac_state, simply because loading of the JavacState will clean out all artifacts
+ // that do not match the javac_state database.
+ javac_state.findAllArtifacts();
- // Remove unidentified artifacts from the bin, gensrc and header dirs.
- // (Unless we allow them to be there.)
- // I.e. artifacts that are not known according to the build database (javac_state).
- // For examples, files that have been manually copied into these dirs.
- // Artifacts with bad timestamps (ie the on disk timestamp does not match the timestamp
- // in javac_state) have already been removed when the javac_state was loaded.
- if (!findBooleanOption(args, "--permit-unidentified-artifacts")) {
- javac_state.removeUnidentifiedArtifacts();
- }
- // Go through all sources and taint all packages that miss artifacts.
- javac_state.taintPackagesThatMissArtifacts();
+ // Remove unidentified artifacts from the bin, gensrc and header dirs.
+ // (Unless we allow them to be there.)
+ // I.e. artifacts that are not known according to the build database (javac_state).
+ // For examples, files that have been manually copied into these dirs.
+ // Artifacts with bad timestamps (ie the on disk timestamp does not match the timestamp
+ // in javac_state) have already been removed when the javac_state was loaded.
+ if (!options.isUnidentifiedArtifactPermitted()) {
+ javac_state.removeUnidentifiedArtifacts();
+ }
+ // Go through all sources and taint all packages that miss artifacts.
+ javac_state.taintPackagesThatMissArtifacts();
- // Now clean out all known artifacts belonging to tainted packages.
- javac_state.deleteClassArtifactsInTaintedPackages();
- // Copy files, for example property files, images files, xml files etc etc.
- javac_state.performCopying(bin_dir, suffix_rules);
- // Translate files, for example compile properties or compile idls.
- javac_state.performTranslation(gensrc_dir, suffix_rules);
- // Add any potentially generated java sources to the tobe compiled list.
- // (Generated sources must always have a package.)
- Map<String,Source> generated_sources = new HashMap<>();
- Source.scanRoot(gensrc_dir, Util.set(".java"), null, null, null, null,
- generated_sources, modules, current_module, false, true, false);
+ // Now clean out all known artifacts belonging to tainted packages.
+ javac_state.deleteClassArtifactsInTaintedPackages();
+ // Copy files, for example property files, images files, xml files etc etc.
+ javac_state.performCopying(Util.pathToFile(options.getDestDir()), suffixRules);
+ // Translate files, for example compile properties or compile idls.
+ javac_state.performTranslation(Util.pathToFile(gensrc), suffixRules);
+ // Add any potentially generated java sources to the tobe compiled list.
+ // (Generated sources must always have a package.)
+ Map<String,Source> generated_sources = new HashMap<>();
+
+ try {
+
+ Source.scanRoot(Util.pathToFile(options.getGenSrcDir()), Util.set(".java"), null, null, null, null,
+ generated_sources, modules, current_module, false, true, false);
javac_state.now().flattenPackagesSourcesAndArtifacts(modules);
// Recheck the the source files and their timestamps again.
javac_state.checkSourceStatus(true);
@@ -320,7 +329,7 @@
// right, then incremental builds will fail with subtility.
// If any difference is detected, then we will fail hard here.
// This is an important safety net.
- javac_state.compareWithMakefileList(makefile_source_list);
+ javac_state.compareWithMakefileList(Util.pathToFile(options.getSourceReferenceList()));
// Do the compilations, repeatedly until no tainted packages exist.
boolean again;
@@ -330,7 +339,7 @@
do {
// Clean out artifacts in tainted packages.
javac_state.deleteClassArtifactsInTaintedPackages();
- again = javac_state.performJavaCompilations(bin_dir, server_settings, args, recently_compiled, rc);
+ again = javac_state.performJavaCompilations(options, recently_compiled, rc);
if (!rc[0]) break;
} while (again);
// Only update the state if the compile went well.
@@ -351,620 +360,71 @@
}
}
- /**
- * Are java source files passed on the command line?
- */
- private boolean findJavaSourceFiles(String[] args) {
- String prev = "";
- for (String s : args) {
- if (s.endsWith(".java") && !prev.equals("-xf") && !prev.equals("-if")) {
- return true;
- }
- prev = s;
- }
- return false;
- }
+ private static boolean validateOptions(Options options) {
+
+ String err = null;
- /**
- * Is an at file passed on the command line?
- */
- private boolean findAtFile(String[] args) {
- for (String s : args) {
- if (s.startsWith("@")) {
- return true;
- }
+ if (options.getDestDir() == null) {
+ err = "Please specify output directory.";
+ } else if (options.isJavaFilesAmongJavacArgs()) {
+ err = "Sjavac does not handle explicit compilation of single .java files.";
+ } else if (options.isAtFilePresent()) {
+ err = "Sjavac does not handle @-files.";
+ } else if (options.getServerConf() == null) {
+ err = "No server configuration provided.";
+ } else if (!options.getImplicitPolicy().equals("none")) {
+ err = "The only allowed setting for sjavac is -implicit:none";
+ } else if (options.getSources().isEmpty()) {
+ err = "You have to specify -src.";
+ } else if (options.getTranslationRules().size() > 1
+ && options.getGenSrcDir() == null) {
+ err = "You have translators but no gensrc dir (-s) specified!";
}
- return false;
- }
- /**
- * Find the log level setting.
- */
- private String findLogLevel(String[] args) {
- for (String s : args) {
- if (s.startsWith("--log=") && s.length()>6) {
- return s.substring(6);
- }
- if (s.equals("-verbose")) {
- return "info";
- }
- }
- return "info";
+ if (err != null)
+ Log.error(err);
+
+ return err == null;
+
}
- /**
- * Remove smart javac wrapper arguments, before feeding
- * the args to the plain javac.
- */
- static String[] removeWrapperArgs(String[] args) {
- String[] out = new String[args.length];
- // The first source path index is remembered
- // here. So that all following can be concatenated to it.
- int source_path = -1;
- // The same for class path.
- int class_path = -1;
- // And module path.
- int module_path = -1;
- int j = 0;
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals("-src") ||
- args[i].equals("-x") ||
- args[i].equals("-i") ||
- args[i].equals("-xf") ||
- args[i].equals("-if") ||
- args[i].equals("-copy") ||
- args[i].equals("-tr") ||
- args[i].equals("-j")) {
- // Just skip it and skip following value
- i++;
- } else if (args[i].startsWith("--server:")) {
- // Just skip it.
- } else if (args[i].startsWith("--log=")) {
- // Just skip it.
- } else if (args[i].equals("--permit-unidentified-artifacts")) {
- // Just skip it.
- } else if (args[i].equals("--permit-sources-without-package")) {
- // Just skip it.
- } else if (args[i].equals("--compare-found-sources")) {
- // Just skip it and skip verify file name
- i++;
- } else if (args[i].equals("-sourcepath")) {
- if (source_path == -1) {
- source_path = j;
- out[j] = args[i];
- out[j+1] = args[i+1];
- j+=2;
- i++;
- } else {
- // Skip this and its argument, but
- // append argument to found sourcepath.
- out[source_path+1] = out[source_path+1]+File.pathSeparatorChar+args[i+1];
- i++;
- }
- } else if (args[i].equals("-classpath") || args[i].equals("-cp")) {
- if (class_path == -1) {
- class_path = j;
- out[j] = args[i];
- out[j+1] = args[i+1];
- j+=2;
- i++;
- } else {
- // Skip this and its argument, but
- // append argument to found sourcepath.
- out[class_path+1] = out[class_path+1]+File.pathSeparatorChar+args[i+1];
- i++;
- }
- } else if (args[i].equals("-modulepath")) {
- if (module_path == -1) {
- module_path = j;
- out[j] = args[i];
- out[j+1] = args[i+1];
- j+=2;
- i++;
- } else {
- // Skip this and its argument, but
- // append argument to found sourcepath.
- out[module_path+1] = out[module_path+1]+File.pathSeparatorChar+args[i+1];
- i++;
- }
- } else {
- // Copy argument.
- out[j] = args[i];
- j++;
- }
+ private static boolean createIfMissing(Path dir) {
+
+ if (Files.isDirectory(dir))
+ return true;
+
+ if (Files.exists(dir)) {
+ Log.error(dir + " is not a directory.");
+ return false;
}
- String[] ret = new String[j];
- System.arraycopy(out, 0, ret, 0, j);
- return ret;
- }
- /**
- * Make sure directory exist, create it if not.
- */
- private static boolean makeSureExists(File dir) {
- // Make sure the dest directories exist.
- if (!dir.exists()) {
- if (!dir.mkdirs()) {
- Log.error("Could not create the directory "+dir.getPath());
- return false;
- }
+ try {
+ Files.createDirectories(dir);
+ } catch (IOException e) {
+ Log.error("Could not create directory: " + e.getMessage());
+ return false;
}
+
return true;
}
- /**
- * Verify that a package pattern is valid.
- */
- private static void checkPattern(String s) throws ProblemException {
- // Package names like foo.bar.gamma are allowed, and
- // package names suffixed with .* like foo.bar.* are
- // also allowed.
- Pattern p = Pattern.compile("[a-zA-Z_]{1}[a-zA-Z0-9_]*(\\.[a-zA-Z_]{1}[a-zA-Z0-9_]*)*(\\.\\*)?+");
- Matcher m = p.matcher(s);
- if (!m.matches()) {
- throw new ProblemException("The string \""+s+"\" is not a proper package name pattern.");
- }
- }
-
- /**
- * Verify that a translate pattern is valid.
- */
- private static void checkTranslatePattern(String s) throws ProblemException {
- // .prop=com.sun.tools.javac.smart.CompileProperties
- // .idl=com.sun.corba.CompileIdl
- // .g3=antlr.CompileGrammar,debug=true
- Pattern p = Pattern.compile(
- "\\.[a-zA-Z_]{1}[a-zA-Z0-9_]*=[a-z_]{1}[a-z0-9_]*(\\.[a-z_]{1}[a-z0-9_]*)*"+
- "(\\.[a-zA-Z_]{1}[a-zA-Z0-9_]*)(,.*)?");
- Matcher m = p.matcher(s);
- if (!m.matches()) {
- throw new ProblemException("The string \""+s+"\" is not a proper translate pattern.");
- }
- }
-
- /**
- * Verify that a copy pattern is valid.
- */
- private static void checkCopyPattern(String s) throws ProblemException {
- // .gif
- // .html
- Pattern p = Pattern.compile(
- "\\.[a-zA-Z_]{1}[a-zA-Z0-9_]*");
- Matcher m = p.matcher(s);
- if (!m.matches()) {
- throw new ProblemException("The string \""+s+"\" is not a proper suffix.");
- }
- }
-
- /**
- * Verify that a source file name is valid.
- */
- private static void checkFilePattern(String s) throws ProblemException {
- // File names like foo/bar/gamma/Bar.java are allowed,
- // as well as /bar/jndi.properties as well as,
- // */bar/Foo.java
- Pattern p = null;
- if (File.separatorChar == '\\') {
- p = Pattern.compile("\\*?(.+\\\\)*.+");
- }
- else if (File.separatorChar == '/') {
- p = Pattern.compile("\\*?(.+/)*.+");
- } else {
- throw new ProblemException("This platform uses the unsupported "+File.separatorChar+
- " as file separator character. Please add support for it!");
- }
- Matcher m = p.matcher(s);
- if (!m.matches()) {
- throw new ProblemException("The string \""+s+"\" is not a proper file name.");
- }
- }
-
- /**
- * Scan the arguments to find an option is used.
- */
- private static boolean hasOption(String[] args, String option) {
- for (String a : args) {
- if (a.equals(option)) return true;
- }
- return false;
- }
-
- /**
- * Check if -implicit is supplied, if so check that it is none.
- * If -implicit is not supplied, supply -implicit:none
- * Only implicit:none is allowed because otherwise the multicore compilations
- * and dependency tracking will be tangled up.
- */
- private static String[] verifyImplicitOption(String[] args)
- throws ProblemException {
-
- boolean foundImplicit = false;
- for (String a : args) {
- if (a.startsWith("-implicit:")) {
- foundImplicit = true;
- if (!a.equals("-implicit:none")) {
- throw new ProblemException("The only allowed setting for sjavac is -implicit:none, it is also the default.");
- }
- }
- }
- if (foundImplicit) {
- return args;
- }
- // -implicit:none not found lets add it.
- String[] newargs = new String[args.length+1];
- System.arraycopy(args,0, newargs, 0, args.length);
- newargs[args.length] = "-implicit:none";
- return newargs;
- }
- /**
- * Rewrite a single option into something else.
- */
- private static void rewriteOptions(String[] args, String option, String new_option) {
- for (int i=0; i<args.length; ++i) {
- if (args[i].equals(option)) {
- args[i] = new_option;
- }
- }
- }
-
- /**
- * Scan the arguments to find an option that specifies a directory.
- * Create the directory if necessary.
- */
- private static File findDirectoryOption(String[] args, String option, String name, boolean needed, boolean allow_dups, boolean create)
- throws ProblemException, ProblemException {
- File dir = null;
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals(option)) {
- if (dir != null) {
- throw new ProblemException("You have already specified the "+name+" dir!");
- }
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a directory following "+option+".");
- }
- if (args[i+1].indexOf(File.pathSeparatorChar) != -1) {
- throw new ProblemException("You must only specify a single directory for "+option+".");
- }
- dir = new File(args[i+1]);
- if (!dir.exists()) {
- if (!create) {
- throw new ProblemException("This directory does not exist: "+dir.getPath());
- } else
- if (!makeSureExists(dir)) {
- throw new ProblemException("Cannot create directory "+dir.getPath());
- }
- }
- if (!dir.isDirectory()) {
- throw new ProblemException("\""+args[i+1]+"\" is not a directory.");
- }
- }
- }
- if (dir == null && needed) {
- throw new ProblemException("You have to specify "+option);
- }
- try {
- if (dir != null)
- return dir.getCanonicalFile();
- } catch (IOException e) {
- throw new ProblemException(""+e);
- }
- return null;
- }
+ /** Find source files in the given source locations. */
+ public static void findSourceFiles(List<SourceLocation> sourceLocations,
+ Set<String> sourceTypes,
+ Map<String,Source> foundFiles,
+ Map<String, Module> foundModules,
+ Module currentModule,
+ boolean permitSourcesInDefaultPackage,
+ boolean inLinksrc) {
- /**
- * Option is followed by path.
- */
- private static boolean shouldBeFollowedByPath(String o) {
- return o.equals("-s") ||
- o.equals("-h") ||
- o.equals("-d") ||
- o.equals("-sourcepath") ||
- o.equals("-classpath") ||
- o.equals("-cp") ||
- o.equals("-bootclasspath") ||
- o.equals("-src");
- }
-
- /**
- * Add -src before source root directories if not already there.
- */
- private static String[] addSrcBeforeDirectories(String[] args) {
- List<String> newargs = new ArrayList<>();
- for (int i = 0; i<args.length; ++i) {
- File dir = new File(args[i]);
- if (dir.exists() && dir.isDirectory()) {
- if (i == 0 || !shouldBeFollowedByPath(args[i-1])) {
- newargs.add("-src");
- }
- }
- newargs.add(args[i]);
- }
- return newargs.toArray(new String[0]);
- }
-
- /**
- * Check the -src options.
- */
- private static void checkSrcOption(String[] args)
- throws ProblemException {
- Set<File> dirs = new HashSet<>();
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals("-src")) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a directory following -src.");
- }
- StringTokenizer st = new StringTokenizer(args[i+1], File.pathSeparator);
- while (st.hasMoreElements()) {
- File dir = new File(st.nextToken());
- if (!dir.exists()) {
- throw new ProblemException("This directory does not exist: "+dir.getPath());
- }
- if (!dir.isDirectory()) {
- throw new ProblemException("\""+dir.getPath()+"\" is not a directory.");
- }
- if (dirs.contains(dir)) {
- throw new ProblemException("The src directory \""+dir.getPath()+"\" is specified more than once!");
- }
- dirs.add(dir);
- }
- }
- }
- if (dirs.isEmpty()) {
- throw new ProblemException("You have to specify -src.");
+ for (SourceLocation source : sourceLocations) {
+ source.findSourceFiles(sourceTypes,
+ foundFiles,
+ foundModules,
+ currentModule,
+ permitSourcesInDefaultPackage,
+ inLinksrc);
}
}
-
- /**
- * Scan the arguments to find an option that specifies a file.
- */
- private static File findFileOption(String[] args, String option, String name, boolean needed)
- throws ProblemException, ProblemException {
- File file = null;
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals(option)) {
- if (file != null) {
- throw new ProblemException("You have already specified the "+name+" file!");
- }
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a file following "+option+".");
- }
- file = new File(args[i+1]);
- if (file.isDirectory()) {
- throw new ProblemException("\""+args[i+1]+"\" is not a file.");
- }
- if (!file.exists() && needed) {
- throw new ProblemException("The file \""+args[i+1]+"\" does not exist.");
- }
-
- }
- }
- if (file == null && needed) {
- throw new ProblemException("You have to specify "+option);
- }
- return file;
- }
-
- /**
- * Look for a specific switch, return true if found.
- */
- public static boolean findBooleanOption(String[] args, String option) {
- for (String arg : args) {
- if (arg.equals(option))
- return true;
- }
- return false;
- }
-
- /**
- * Scan the arguments to find an option that specifies a number.
- */
- public static int findNumberOption(String[] args, String option) {
- int rc = 0;
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals(option)) {
- if (args.length > i+1) {
- rc = Integer.parseInt(args[i+1]);
- }
- }
- }
- return rc;
- }
-
- /**
- * Scan the arguments to find the option (-tr) that setup translation rules to java source
- * from different sources. For example: .properties are translated using CompileProperties
- * The found translators are stored as suffix rules.
- */
- private static void findTranslateOptions(String[] args, Map<String,Transformer> suffix_rules)
- throws ProblemException, ProblemException {
-
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals("-tr")) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a translate rule following -tr.");
- }
- String s = args[i+1];
- checkTranslatePattern(s);
- int ep = s.indexOf("=");
- String suffix = s.substring(0,ep);
- String classname = s.substring(ep+1);
- if (suffix_rules.get(suffix) != null) {
- throw new ProblemException("You have already specified a "+
- "rule for the suffix "+suffix);
- }
- if (s.equals(".class")) {
- throw new ProblemException("You cannot have a translator for .class files!");
- }
- if (s.equals(".java")) {
- throw new ProblemException("You cannot have a translator for .java files!");
- }
- String extra = null;
- int exp = classname.indexOf(",");
- if (exp != -1) {
- extra = classname.substring(exp+1);
- classname = classname.substring(0,exp);
- }
- try {
- Class<?> cl = Class.forName(classname);
- Transformer t = (Transformer)cl.newInstance();
- t.setExtra(extra);
- suffix_rules.put(suffix, t);
- }
- catch (Exception e) {
- throw new ProblemException("Cannot use "+classname+" as a translator!");
- }
- }
- }
- }
-
- /**
- * Scan the arguments to find the option (-copy) that setup copying rules into the bin dir.
- * For example: -copy .html
- * The found copiers are stored as suffix rules as well. No translation is done, just copying.
- */
- private void findCopyOptions(String[] args, Map<String,Transformer> suffix_rules)
- throws ProblemException, ProblemException {
-
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals("-copy")) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a translate rule following -tr.");
- }
- String s = args[i+1];
- checkCopyPattern(s);
- if (suffix_rules.get(s) != null) {
- throw new ProblemException("You have already specified a "+
- "rule for the suffix "+s);
- }
- if (s.equals(".class")) {
- throw new ProblemException("You cannot have a copy rule for .class files!");
- }
- if (s.equals(".java")) {
- throw new ProblemException("You cannot have a copy rule for .java files!");
- }
- suffix_rules.put(s, javac_state.getCopier());
- }
- }
- }
-
- /**
- * Rewrite a / separated path into \ separated, but only
- * if we are running on a platform were File.separatorChar=='\', ie winapi.
- */
- private String fixupSeparator(String p) {
- if (File.separatorChar == '/') return p;
- return p.replaceAll("/", "\\\\");
- }
-
- /**
- * Scan the arguments for -i -x -xf -if followed by the option
- * -src, -sourcepath, -modulepath or -classpath and produce a map of all the
- * files to referenced for that particular option.
- *
- * Store the found sources and the found modules in the supplied maps.
- */
- private boolean findFiles(String[] args, String option, Set<String> suffixes,
- Map<String,Source> found_files, Map<String, Module> found_modules,
- Module current_module, boolean inLinksrc)
- throws ProblemException, ProblemException
- {
- // Track which source roots, source path roots and class path roots have been added.
- Set<File> roots = new HashSet<>();
- // Track the current set of package includes,excludes as well as excluded source files,
- // to be used in the next -src/-sourcepath/-classpath
- List<String> includes = new LinkedList<>();
- List<String> excludes = new LinkedList<>();
- List<String> excludefiles = new LinkedList<>();
- List<String> includefiles = new LinkedList<>();
- // This include is used to find all modules in the source.
- List<String> moduleinfo = new LinkedList<>();
- moduleinfo.add("module-info.java");
-
- for (int i = 0; i<args.length; ++i) {
- if (args[i].equals("-i")) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a package pattern following -i");
- }
- String incl = args[i+1];
- checkPattern(incl);
- includes.add(incl);
- }
- if (args[i].equals("-x")) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a package pattern following -x");
- }
- String excl = args[i+1];
- checkPattern(excl);
- excludes.add(excl);
- }
- if (args[i].equals("-xf")) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a file following -xf");
- }
- String exclf = args[i+1];
- checkFilePattern(exclf);
- exclf = Util.normalizeDriveLetter(exclf);
- excludefiles.add(fixupSeparator(exclf));
- }
- if (args[i].equals("-if")) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a file following -xf");
- }
- String inclf = args[i+1];
- checkFilePattern(inclf);
- inclf = Util.normalizeDriveLetter(inclf);
- includefiles.add(fixupSeparator(inclf));
- }
- if (args[i].equals(option)) {
- if (i+1 >= args.length) {
- throw new ProblemException("You have to specify a directory following "+option);
- }
- String[] root_dirs = args[i+1].split(File.pathSeparator);
- for (String r : root_dirs) {
- File root = new File(r);
- if (!root.isDirectory()) {
- throw new ProblemException("\""+r+"\" is not a directory.");
- }
- try {
- root = root.getCanonicalFile();
- } catch (IOException e) {
- throw new ProblemException(""+e);
- }
- if (roots.contains(root)) {
- throw new ProblemException("\""+r+"\" has already been used for "+option);
- }
- if (root.equals(bin_dir)) {
- throw new ProblemException("\""+r+"\" cannot be used both for "+option+" and -d");
- }
- if (root.equals(gensrc_dir)) {
- throw new ProblemException("\""+r+"\" cannot be used both for "+option+" and -s");
- }
- if (root.equals(header_dir)) {
- throw new ProblemException("\""+r+"\" cannot be used both for "+option+" and -h");
- }
- roots.add(root);
- Source.scanRoot(root, suffixes, excludes, includes, excludefiles, includefiles,
- found_files, found_modules, current_module,
- findBooleanOption(args, "--permit-sources-without-package"),
- false, inLinksrc);
- }
- }
- if (args[i].equals("-src") ||
- args[i].equals("-sourcepath") ||
- args[i].equals("-modulepath") ||
- args[i].equals("-classpath") ||
- args[i].equals("-cp"))
- {
- // Reset the includes,excludes and excludefiles after they have been used.
- includes = new LinkedList<>();
- excludes = new LinkedList<>();
- excludefiles = new LinkedList<>();
- includefiles = new LinkedList<>();
- }
- }
- return true;
- }
-
}
-
--- a/langtools/src/share/classes/com/sun/tools/sjavac/Source.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/Source.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -201,7 +201,7 @@
// It might contain other source files however, (for -tr and -copy) these will
// always be included, since no package pattern can match the root directory.
currentModule = addFilesInDir(root, root_prefix, root, suffixes, permitSourcesWithoutPackage,
- excludeFiles, includeFiles, false,
+ excludeFiles, includeFiles,
foundFiles, foundModules, currentModule,
inGensrc, inLinksrc);
@@ -211,24 +211,28 @@
// Descend into the directory structure.
scanDirectory(d, root_prefix, root, suffixes,
excludes, includes, excludeFiles, includeFiles,
- false, foundFiles, foundModules, currentModule, inGensrc, inLinksrc);
+ foundFiles, foundModules, currentModule, inGensrc, inLinksrc);
}
}
}
/**
* Test if a path matches any of the patterns given.
- * The pattern foo.bar matches only foo.bar
- * The pattern foo.* matches foo.bar and foo.bar.zoo etc
+ * The pattern foo/bar matches only foo/bar
+ * The pattern foo/* matches foo/bar and foo/bar/zoo etc
*/
static private boolean hasMatch(String path, List<String> patterns) {
+
+ // Convert Windows '\' to '/' for the sake of comparing with the patterns
+ path = path.replace(File.separatorChar, '/');
+
for (String p : patterns) {
// Exact match
- if (p.equals(path)) {
+ if (p.equals(path))
return true;
- }
+
// Single dot the end matches this package and all its subpackages.
- if (p.endsWith(".*")) {
+ if (p.endsWith("/*")) {
// Remove the wildcard
String patprefix = p.substring(0,p.length()-2);
// Does the path start with the pattern prefix?
@@ -237,7 +241,7 @@
// If the path is longer, then make sure that
// the next part of the path starts with a dot (.) to prevent
// wildcard matching in the middle of a package name.
- if (path.length()==patprefix.length() || path.charAt(patprefix.length())=='.') {
+ if (path.length()==patprefix.length() || path.charAt(patprefix.length())=='/') {
return true;
}
}
@@ -251,6 +255,9 @@
// The pattern foo/bar.java only matches foo/bar.java
// The pattern */bar.java matches foo/bar.java and zoo/bar.java etc
static private boolean hasFileMatch(String path, List<String> patterns) {
+ // Convert Windows '\' to '/' for the sake of comparing with the patterns
+ path = path.replace(File.separatorChar, '/');
+
path = Util.normalizeDriveLetter(path);
for (String p : patterns) {
// Exact match
@@ -276,7 +283,7 @@
*/
static private Module addFilesInDir(File dir, int rootPrefix, File root,
Set<String> suffixes, boolean allow_javas,
- List<String> excludeFiles, List<String> includeFiles, boolean all,
+ List<String> excludeFiles, List<String> includeFiles,
Map<String,Source> foundFiles,
Map<String,Module> foundModules,
Module currentModule,
@@ -285,79 +292,82 @@
throws ProblemException
{
for (File f : dir.listFiles()) {
- if (f.isFile()) {
- boolean should_add =
- (excludeFiles == null || excludeFiles.isEmpty() || !hasFileMatch(f.getPath(), excludeFiles))
- && (includeFiles == null || includeFiles.isEmpty() || hasFileMatch(f.getPath(), includeFiles));
+
+ if (!f.isFile())
+ continue;
+
+ boolean should_add =
+ (excludeFiles == null || excludeFiles.isEmpty() || !hasFileMatch(f.getPath(), excludeFiles))
+ && (includeFiles == null || includeFiles.isEmpty() || hasFileMatch(f.getPath(), includeFiles));
+
+ if (!should_add)
+ continue;
- if (should_add) {
- if (!allow_javas && f.getName().endsWith(".java")) {
- throw new ProblemException("No .java files are allowed in the source root "+dir.getPath()+
- ", please remove "+f.getName());
- }
- // Extract the file name relative the root.
- String fn = f.getPath().substring(rootPrefix);
- // Extract the package name.
- int sp = fn.lastIndexOf(File.separatorChar);
- String pkg = "";
- if (sp != -1) {
- pkg = fn.substring(0,sp).replace(File.separatorChar,'.');
- }
- // Is this a module-info.java file?
- if (fn.endsWith("module-info.java")) {
- // Aha! We have recursed into a module!
- if (!currentModule.name().equals("")) {
- throw new ProblemException("You have an extra module-info.java inside a module! Please remove "+fn);
+ if (!allow_javas && f.getName().endsWith(".java")) {
+ throw new ProblemException("No .java files are allowed in the source root "+dir.getPath()+
+ ", please remove "+f.getName());
+ }
+ // Extract the file name relative the root.
+ String fn = f.getPath().substring(rootPrefix);
+ // Extract the package name.
+ int sp = fn.lastIndexOf(File.separatorChar);
+ String pkg = "";
+ if (sp != -1) {
+ pkg = fn.substring(0,sp);
+ }
+ // Is this a module-info.java file?
+ if (fn.endsWith("module-info.java")) {
+ // Aha! We have recursed into a module!
+ if (!currentModule.name().equals("")) {
+ throw new ProblemException("You have an extra module-info.java inside a module! Please remove "+fn);
+ }
+ String module_name = fn.substring(0,fn.length()-16);
+ currentModule = new Module(module_name, f.getPath());
+ foundModules.put(module_name, currentModule);
+ }
+ // Extract the suffix.
+ int dp = fn.lastIndexOf(".");
+ String suffix = "";
+ if (dp > 0) {
+ suffix = fn.substring(dp);
+ }
+ // Should the file be added?
+ if (suffixes.contains(suffix)) {
+ Source of = foundFiles.get(f.getPath());
+ if (of != null) {
+ throw new ProblemException("You have already added the file "+fn+" from "+of.file().getPath());
+ }
+ of = currentModule.lookupSource(f.getPath());
+ if (of != null) {
+ // Oups, the source is already added, could be ok, could be not, lets check.
+ if (inLinksrc) {
+ // So we are collecting sources for linking only.
+ if (of.isLinkedOnly()) {
+ // Ouch, this one is also for linking only. Bad.
+ throw new ProblemException("You have already added the link only file "+fn+" from "+of.file().getPath());
}
- String module_name = fn.substring(0,fn.length()-16);
- currentModule = new Module(module_name, f.getPath());
- foundModules.put(module_name, currentModule);
- }
- // Extract the suffix.
- int dp = fn.lastIndexOf(".");
- String suffix = "";
- if (dp > 0) {
- suffix = fn.substring(dp);
- }
- // Should the file be added?
- if (all || suffixes.contains(suffix)) {
- Source of = foundFiles.get(f.getPath());
- if (of != null) {
- throw new ProblemException("You have already added the file "+fn+" from "+of.file().getPath());
- }
- of = currentModule.lookupSource(f.getPath());
- if (of != null) {
- // Oups, the source is already added, could be ok, could be not, lets check.
- if (inLinksrc) {
- // So we are collecting sources for linking only.
- if (of.isLinkedOnly()) {
- // Ouch, this one is also for linking only. Bad.
- throw new ProblemException("You have already added the link only file "+fn+" from "+of.file().getPath());
- }
- // Ok, the existing source is to be compiled. Thus this link only is redundant
- // since all compiled are also linked to. Continue to the next source.
- // But we need to add the source, so that it will be visible to linking,
- // if not the multi core compile will fail because a JavaCompiler cannot
- // find the necessary dependencies for its part of the source.
- foundFiles.put(f.getPath(), of);
- continue;
- } else {
- // We are looking for sources to compile, if we find an existing to be compiled
- // source with the same name, it is an internal error, since we must
- // find the sources to be compiled before we find the sources to be linked to.
- throw new ProblemException("Internal error: Double add of file "+fn+" from "+of.file().getPath());
- }
- }
- Source s = new Source(currentModule, f.getPath(), f, root);
- if (inGensrc) s.markAsGenerated();
- if (inLinksrc) {
- s.markAsLinkedOnly();
- }
- pkg = currentModule.name()+":"+pkg;
- foundFiles.put(f.getPath(), s);
- currentModule.addSource(pkg, s);
+ // Ok, the existing source is to be compiled. Thus this link only is redundant
+ // since all compiled are also linked to. Continue to the next source.
+ // But we need to add the source, so that it will be visible to linking,
+ // if not the multi core compile will fail because a JavaCompiler cannot
+ // find the necessary dependencies for its part of the source.
+ foundFiles.put(f.getPath(), of);
+ continue;
+ } else {
+ // We are looking for sources to compile, if we find an existing to be compiled
+ // source with the same name, it is an internal error, since we must
+ // find the sources to be compiled before we find the sources to be linked to.
+ throw new ProblemException("Internal error: Double add of file "+fn+" from "+of.file().getPath());
}
}
+ Source s = new Source(currentModule, f.getPath(), f, root);
+ if (inGensrc) s.markAsGenerated();
+ if (inLinksrc) {
+ s.markAsLinkedOnly();
+ }
+ pkg = currentModule.name()+":"+pkg;
+ foundFiles.put(f.getPath(), s);
+ currentModule.addSource(pkg, s);
}
}
return currentModule;
@@ -368,23 +378,22 @@
static private void scanDirectory(File dir, int rootPrefix, File root,
Set<String> suffixes,
List<String> excludes, List<String> includes,
- List<String> excludeFiles, List<String> includeFiles, boolean all,
+ List<String> excludeFiles, List<String> includeFiles,
Map<String,Source> foundFiles,
Map<String,Module> foundModules,
Module currentModule, boolean inGensrc, boolean inLinksrc)
throws ProblemException {
- String pkg_name = "";
- // Remove the root prefix from the dir path, and replace file separator with dots
- // to get the package name.
+ String path = "";
+ // Remove the root prefix from the dir path
if (dir.getPath().length() > rootPrefix) {
- pkg_name = dir.getPath().substring(rootPrefix).replace(File.separatorChar,'.');
+ path = dir.getPath().substring(rootPrefix);
}
// Should this package directory be included and not excluded?
- if (all || ((includes==null || includes.isEmpty() || hasMatch(pkg_name, includes)) &&
- (excludes==null || excludes.isEmpty() || !hasMatch(pkg_name, excludes)))) {
+ if ((includes==null || includes.isEmpty() || hasMatch(path, includes)) &&
+ (excludes==null || excludes.isEmpty() || !hasMatch(path, excludes))) {
// Add the source files.
- currentModule = addFilesInDir(dir, rootPrefix, root, suffixes, true, excludeFiles, includeFiles, all,
+ currentModule = addFilesInDir(dir, rootPrefix, root, suffixes, true, excludeFiles, includeFiles,
foundFiles, foundModules, currentModule, inGensrc, inLinksrc);
}
@@ -392,7 +401,7 @@
if (d.isDirectory()) {
// Descend into the directory structure.
scanDirectory(d, rootPrefix, root, suffixes,
- excludes, includes, excludeFiles, includeFiles, all,
+ excludes, includes, excludeFiles, includeFiles,
foundFiles, foundModules, currentModule, inGensrc, inLinksrc);
}
}
--- a/langtools/src/share/classes/com/sun/tools/sjavac/Transformer.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/Transformer.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -30,6 +30,8 @@
import java.util.Set;
import java.util.Map;
+import com.sun.tools.sjavac.options.Options;
+
/**
* The transform interface is used to transform content inside a package, from one form to another.
* Usually the output form is an unpredictable number of output files. (eg class files)
@@ -95,5 +97,5 @@
PrintStream err);
void setExtra(String e);
- void setExtra(String[] args);
+ void setExtra(Options args);
}
--- a/langtools/src/share/classes/com/sun/tools/sjavac/Util.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/Util.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,6 +26,7 @@
package com.sun.tools.sjavac;
import java.io.File;
+import java.nio.file.Path;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
@@ -94,14 +95,12 @@
* do settings = cleanOptions("--server:",Util.set("-portfile"),settings);
* now settings equals "--server:portfile=bar"
*
- * @param optionPrefix The option name, including colon, eg --server:
* @param allowsSubOptions A set of the allowed sub options, id portfile etc.
* @param s The option settings string.
*/
- public static String cleanSubOptions(String optionPrefix, Set<String> allowedSubOptions, String s) {
+ public static String cleanSubOptions(Set<String> allowedSubOptions, String s) {
StringBuilder sb = new StringBuilder();
- if (!s.startsWith(optionPrefix)) return "";
- StringTokenizer st = new StringTokenizer(s.substring(optionPrefix.length()), ",");
+ StringTokenizer st = new StringTokenizer(s, ",");
while (st.hasMoreTokens()) {
String o = st.nextToken();
int p = o.indexOf('=');
@@ -157,4 +156,9 @@
}
return null;
}
+
+ // TODO: Remove when refactoring from java.io.File to java.nio.file.Path.
+ public static File pathToFile(Path path) {
+ return path == null ? null : path.toFile();
+ }
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/options/ArgumentIterator.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.sjavac.options;
+
+import java.util.Iterator;
+
+public class ArgumentIterator implements Iterator<String> {
+
+ /** The underlying argument iterator */
+ private Iterator<String> iter;
+
+ /** Extra state used to implement peek and current */
+ private String current;
+ private String buffered;
+
+ public ArgumentIterator(Iterable<String> iter) {
+ this.iter = iter.iterator();
+ }
+
+ @Override
+ public boolean hasNext() {
+ return buffered != null || iter.hasNext();
+ }
+
+ @Override
+ public String next() {
+ fillBuffer();
+ current = buffered;
+ buffered = null;
+ return current;
+ }
+
+ /**
+ * @return the last element returned by next() (or {@code null} if next has
+ * never been invoked on this iterator).
+ */
+ public String current() {
+ return current;
+ }
+
+ /** Can't remove current element, since we may have buffered it. */
+ @Override
+ public void remove() {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * @return Returns the next element without advancing the iterator
+ */
+ public String peek() {
+ fillBuffer();
+ return buffered;
+ }
+
+ private void fillBuffer() {
+ if (buffered == null && iter.hasNext())
+ buffered = iter.next();
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/options/Option.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,360 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.sjavac.options;
+
+import java.io.File;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import com.sun.tools.sjavac.CopyFile;
+import com.sun.tools.sjavac.Transformer;
+
+
+/**
+ * Sjavac options can be classified as:
+ *
+ * (1) relevant only for sjavac, such as --server
+ * (2) relevant for sjavac and javac, such as -d, or
+ * (3) relevant only for javac, such as -g.
+ *
+ * This enum represents all options from (1) and (2). Note that instances of
+ * this enum only entail static information about the option. For storage of
+ * option values, refer to com.sun.tools.sjavac.options.Options.
+ */
+public enum Option {
+
+ SRC("-src", "Location of source files to be compiled") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ List<Path> paths = getFileListArg(iter, helper);
+ if (paths != null)
+ helper.sourceRoots(paths);
+ }
+ },
+ SOURCEPATH("-sourcepath", "Specify search path for sources.") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ List<Path> paths = getFileListArg(iter, helper);
+ if (paths != null)
+ helper.sourcepath(paths);
+ }
+ },
+ MODULEPATH("-modulepath", "Specify search path for modules.") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ List<Path> paths = getFileListArg(iter, helper);
+ if (paths != null)
+ helper.modulepath(paths);
+ }
+ },
+ CLASSPATH("-classpath", "Specify search path for classes.") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ List<Path> paths = getFileListArg(iter, helper);
+ if (paths != null)
+ helper.classpath(paths);
+ }
+ },
+ CP("-cp", "An alias for -classpath") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ CLASSPATH.processMatching(iter, helper);
+ }
+ },
+ X("-x", "Exclude directory from the subsequent source directory") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ String pattern = getFilePatternArg(iter, helper);
+ if (pattern != null)
+ helper.exclude(pattern);
+ }
+ },
+ I("-i", "Include only the given directory from the subsequent source directory") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ String pattern = getFilePatternArg(iter, helper);
+ if (pattern != null)
+ helper.include(pattern);
+ }
+ },
+ XF("-xf", "Exclude a given file") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ String pattern = getFilePatternArg(iter, helper);
+ if (pattern != null)
+ helper.excludeFile(pattern);
+ }
+ },
+ IF("-if", "Include only the given file") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ String pattern = getFilePatternArg(iter, helper);
+ if (pattern != null)
+ helper.includeFile(pattern);
+ }
+ },
+ TR("-tr", "Translate resources") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+
+ if (!iter.hasNext()) {
+ helper.reportError(arg + " must be followed by a translation rule");
+ return;
+ }
+
+ String trArg = iter.next();
+
+ // Validate argument syntax. Examples:
+ // .prop=com.sun.tools.javac.smart.CompileProperties
+ // .idl=com.sun.corba.CompileIdl
+ // .g3=antlr.CompileGrammar,debug=true
+ String ident = "[a-zA-Z_][a-zA-Z0-9_]*";
+ Pattern p = Pattern.compile("(?<suffix>\\." + ident + ")=" +
+ "(?<class>" + ident + "(\\." + ident + ")*)" +
+ "(?<extra>,.*)?");
+ // Check syntax
+ Matcher m = p.matcher(trArg);
+ if (!m.matches()) {
+ helper.reportError("The string \"" + trArg + "\" is not a " +
+ "valid translate pattern");
+ return;
+ }
+
+ // Extract relevant parts
+ String suffix = m.group("suffix");
+ String classname = m.group("class");
+ String extra = m.group("extra");
+
+ // Valid suffix?
+ if (suffix.matches("\\.(class|java)")) {
+ helper.reportError("You cannot have a translator for " +
+ suffix + " files!");
+ return;
+ }
+
+ // Construct transformer
+ try {
+ Class<?> trCls = Class.forName(classname);
+ Transformer transformer = (Transformer) trCls.newInstance();
+ transformer.setExtra(extra);
+ helper.addTransformer(suffix, transformer);
+ } catch (Exception e) {
+ helper.reportError("Cannot use " + classname +
+ " as a translator: " + e.getMessage());
+ }
+ }
+ },
+ COPY("-copy", "Copy resources") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ if (!iter.hasNext()) {
+ helper.reportError(arg + " must be followed by a resource type");
+ return;
+ }
+
+ String copyArg = iter.next();
+
+ // Validate argument syntax. Examples: .gif, .html
+ if (!copyArg.matches("\\.[a-zA-Z_][a-zA-Z0-9_]*")) {
+ helper.reportError("The string \"" + copyArg + "\" is not a " +
+ "valid resource type.");
+ return;
+ }
+
+ helper.addTransformer(copyArg, new CopyFile());
+ }
+ },
+ J("-j", "Number of cores") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ if (!iter.hasNext() || !iter.peek().matches("\\d+")) {
+ helper.reportError(arg + " must be followed by an integer");
+ return;
+ }
+ helper.numCores(Integer.parseInt(iter.next()));
+ }
+ },
+ SERVER("--server:", "Specify server configuration file of running server") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ helper.serverConf(iter.current().substring(arg.length()));
+ }
+ },
+ STARTSERVER("--startserver:", "Start server and use the given configuration file") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ helper.startServerConf(iter.current().substring(arg.length()));
+ }
+ },
+ IMPLICIT("-implicit:", "Specify how to treat implicitly referenced source code") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ helper.implicit(iter.current().substring(arg.length()));
+ }
+ },
+ LOG("--log=", "Specify logging level") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ helper.logLevel(iter.current().substring(arg.length()));
+ }
+ },
+ VERBOSE("-verbose", "Set verbosity level to \"info\"") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ helper.logLevel("info");
+ }
+ },
+ PERMIT_UNIDENTIFIED_ARTIFACTS("--permit-unidentified-artifacts", "Keep unidentified artifacts in destination directory") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ helper.permitUnidentifiedArtifacts();
+ }
+ },
+ PERMIT_SOURCES_WITHOUT_PACKAGE("--permit-sources-without-package", "Permit sources in the default package") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ helper.permitDefaultPackage();
+ }
+ },
+ COMPARE_FOUND_SOURCES("--compare-found-sources", "Compare found sources with given sources") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ Path referenceSourceList = getFileArg(iter, helper, true, false);
+ if (referenceSourceList != null)
+ helper.compareFoundSources(referenceSourceList);
+ }
+ },
+ D("-d", "Output destination directory") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ Path dir = getFileArg(iter, helper, false, true);
+ if (dir != null)
+ helper.destDir(dir);
+ }
+ },
+ S("-s", "Directory for generated sources") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ Path dir = getFileArg(iter, helper, false, true);
+ if (dir != null)
+ helper.generatedSourcesDir(dir);
+ }
+ },
+ H("-h", "Directory for header files") {
+ @Override
+ protected void processMatching(ArgumentIterator iter, OptionHelper helper) {
+ Path dir = getFileArg(iter, helper, false, true);
+ if (dir != null)
+ helper.headerDir(dir);
+ }
+ };
+
+ public final String arg;
+
+ final String description;
+
+ private Option(String arg, String description) {
+ this.arg = arg;
+ this.description = description;
+ }
+
+ /** Retrieve and verify syntax of file list argument. */
+ List<Path> getFileListArg(ArgumentIterator iter, OptionHelper helper) {
+ if (!iter.hasNext()) {
+ helper.reportError(arg + " must be followed by a list of files " +
+ "separated by " + File.pathSeparator);
+ return null;
+ }
+ List<Path> result = new ArrayList<>();
+ for (String pathStr : iter.next().split(File.pathSeparator))
+ result.add(Paths.get(pathStr));
+ return result;
+ }
+
+ /** Retrieve and verify syntax of file argument. */
+ Path getFileArg(ArgumentIterator iter, OptionHelper helper, boolean fileAcceptable, boolean dirAcceptable) {
+
+ if (!iter.hasNext()) {
+ String errmsg = arg + " must be followed by ";
+ if (fileAcceptable && dirAcceptable) errmsg += "a file or directory.";
+ else if (fileAcceptable) errmsg += "a file.";
+ else if (dirAcceptable) errmsg += "a directory.";
+ else throw new IllegalArgumentException("File or directory must be acceptable.");
+ helper.reportError(errmsg);
+ return null;
+ }
+
+ return Paths.get(iter.next());
+ }
+
+ /** Retrieve the next file or package argument. */
+ String getFilePatternArg(ArgumentIterator iter, OptionHelper helper) {
+
+ if (!iter.hasNext()) {
+ helper.reportError(arg + " must be followed by a file or directory pattern.");
+ return null;
+ }
+
+ return iter.next();
+ }
+
+ // Future cleanup: Change the "=" syntax to ":" syntax to be consistent and
+ // to follow the javac-option style.
+
+ public boolean hasOption() {
+ return arg.endsWith(":") || arg.endsWith("=");
+ }
+
+
+ /**
+ * Process current argument of argIter.
+ *
+ * It's final, since the option customization is typically done in
+ * processMatching.
+ *
+ * @param argIter Iterator to read current and succeeding arguments from.
+ * @param helper The helper to report back to.
+ * @return true iff the argument was processed by this option.
+ */
+ public final boolean processCurrent(ArgumentIterator argIter,
+ OptionHelper helper) {
+ String fullArg = argIter.current(); // "-tr" or "-log=level"
+ if (hasOption() ? fullArg.startsWith(arg) : fullArg.equals(arg)) {
+ processMatching(argIter, helper);
+ return true;
+ }
+ // Did not match
+ return false;
+ }
+
+ /** Called by process if the current argument matches this option. */
+ protected abstract void processMatching(ArgumentIterator argIter,
+ OptionHelper helper);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/options/OptionHelper.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.sjavac.options;
+
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.List;
+
+import com.sun.tools.sjavac.Transformer;
+
+/**
+ * This class is used to decode sjavac options.
+ * See com.sun.tools.sjavac.options.Options for example usage.
+ */
+public abstract class OptionHelper {
+
+ /** Handle error */
+ public abstract void reportError(String msg);
+
+ /** Record a package exclusion pattern */
+ public abstract void exclude(String excl);
+
+ /** Record a package inclusion pattern */
+ public abstract void include(String incl);
+
+ /** Record a file exclusion */
+ public abstract void excludeFile(String exclFile);
+
+ /** Record a file inclusion */
+ public abstract void includeFile(String inclFile);
+
+ /** Record a root of sources to be compiled */
+ public abstract void sourceRoots(List<Path> path);
+
+ /** Record a suffix + transformer */
+ public abstract void addTransformer(String suffix, Transformer tr);
+
+ /** Record a sourcepath to be used */
+ public abstract void sourcepath(List<Path> path);
+
+ /** Record a modulepath to be used */
+ public abstract void modulepath(List<Path> path);
+
+ /** Record a classpath to be used */
+ public abstract void classpath(List<Path> path);
+
+ /** Record the number of cores */
+ public abstract void numCores(int parseInt);
+
+ /** Record desired log level */
+ public abstract void logLevel(String level);
+
+ /** Record path for reference source list */
+ public abstract void compareFoundSources(Path referenceList);
+
+ /** Record the fact that unidentified artifacts are permitted */
+ public abstract void permitUnidentifiedArtifacts();
+
+ /** Record the fact that sources in the default package are permitted */
+ public abstract void permitDefaultPackage();
+
+ /** Record server configuration parameters */
+ public abstract void serverConf(String serverConf);
+
+ /** Record server launch configuration parameters */
+ public abstract void startServerConf(String serverConf);
+
+ /** Record some arguments to be passed on to javac */
+ public abstract void javacArg(String... arg);
+
+ /** Sets the destination directory for the compilation */
+ public abstract void destDir(Path dir);
+
+ /** Sets the directory for generated sources */
+ public abstract void generatedSourcesDir(Path genSrcDir);
+
+ /** Sets the directory for generated headers */
+ public abstract void headerDir(Path dir);
+
+ /** Sets the implicit policy */
+ public abstract void implicit(String policy);
+
+
+ /**
+ * Traverses an array of arguments and performs the appropriate callbacks.
+ *
+ * @param args the arguments to traverse.
+ */
+ void traverse(String[] args) {
+
+ ArgumentIterator argIter = new ArgumentIterator(Arrays.asList(args));
+
+ nextArg:
+ while (argIter.hasNext()) {
+
+ String arg = argIter.next();
+
+ if (arg.startsWith("-")) {
+ for (Option opt : Option.values()) {
+ if (opt.processCurrent(argIter, this))
+ continue nextArg;
+ }
+
+ javacArg(arg);
+
+ // Does this javac argument take an argument? If so, don't
+ // let it pass on to sjavac as a source root directory.
+ for (com.sun.tools.javac.main.Option javacOpt : com.sun.tools.javac.main.Option.values()) {
+ if (javacOpt.matches(arg)) {
+ boolean takesArgument = javacOpt.hasArg();
+ boolean separateToken = !arg.contains(":") && !arg.contains("=");
+ if (takesArgument && separateToken)
+ javacArg(argIter.next());
+ }
+ }
+ } else {
+ sourceRoots(Arrays.asList(Paths.get(arg)));
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/options/Options.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,490 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.sjavac.options;
+
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.sun.tools.sjavac.Transformer;
+
+/**
+ * Instances of this class represent values for sjavac command line options.
+ */
+public class Options {
+
+ // Output directories
+ private Path destDir, genSrcDir, headerDir;
+
+ // Input directories
+ private List<SourceLocation> sources = new ArrayList<>();
+ private List<SourceLocation> sourceSearchPaths = new ArrayList<>();
+ private List<SourceLocation> classSearchPaths = new ArrayList<>();
+ private List<SourceLocation> moduleSearchPaths = new ArrayList<>();
+
+ private String logLevel = "info";
+
+ private boolean permitUnidentifiedArtifact = false;
+ private boolean permitSourcesInDefaultPackage = false;
+
+ private Path sourceReferenceList;
+ private int numCores = 4;
+ private String implicitPolicy = "none";
+ private List<String> javacArgs = new ArrayList<>();
+
+ private Map<String, Transformer> trRules = new HashMap<>();
+
+ private boolean startServer = false;
+
+ // Server configuration string
+ private String serverConf;
+
+ /** Get the policy for implicit classes */
+ public String getImplicitPolicy() {
+ return implicitPolicy;
+ }
+
+ /** Get the path for generated sources (or null if no such path is set) */
+ public Path getGenSrcDir() {
+ return genSrcDir;
+ }
+
+ /** Get the path for the destination directory */
+ public Path getDestDir() {
+ return destDir;
+ }
+
+ /** Get the path for the header directory (or null if no such path is set) */
+ public Path getHeaderDir() {
+ return headerDir;
+ }
+
+ /** Get all source locations for files to be compiled */
+ public List<SourceLocation> getSources() {
+ return sources;
+ }
+
+ /**
+ * Get all paths to search for classes in .java format. (Java-files in
+ * found here should not be compiled.
+ */
+ public List<SourceLocation> getSourceSearchPaths() {
+ return sourceSearchPaths;
+ }
+
+ /** Get all paths to search for classes in. */
+ public List<SourceLocation> getClassSearchPath() {
+ return classSearchPaths;
+ }
+
+ /** Get all paths to search for modules in. */
+ public List<SourceLocation> getModuleSearchPaths() {
+ return moduleSearchPaths;
+ }
+
+ /** Get the log level. */
+ public String getLogLevel() {
+ return logLevel;
+ }
+
+ /** Returns true iff artifacts in the output directories should be kept,
+ * even if they would not be generated in a clean build. */
+ public boolean isUnidentifiedArtifactPermitted() {
+ return permitUnidentifiedArtifact;
+ }
+
+ /** Returns true iff sources in the default package should be permitted. */
+ public boolean isDefaultPackagePermitted() {
+ return permitSourcesInDefaultPackage;
+ }
+
+ /** Get the path to the list of reference sources (or null if none is set) */
+ public Path getSourceReferenceList() {
+ return sourceReferenceList;
+ }
+
+ /** Get the number of cores to be used by sjavac */
+ public int getNumCores() {
+ return numCores;
+ }
+
+ /** Returns all arguments relevant to javac but irrelevant to sjavac. */
+ public List<String> getJavacArgs() {
+ return javacArgs;
+ }
+
+ /**
+ * Get a map which maps suffixes to transformers (for example
+ * ".java" -> CompileJavaPackages)
+ */
+ public Map<String, Transformer> getTranslationRules() {
+ return trRules;
+ }
+
+ /** Return true iff a new server should be started */
+ public boolean startServerFlag() {
+ return startServer;
+ }
+
+ /** Return the server configuration string. */
+ public String getServerConf() {
+ return serverConf;
+ }
+
+ /**
+ * Parses the given argument array and returns a corresponding Options
+ * instance.
+ */
+ public static Options parseArgs(String... args) {
+ Options options = new Options();
+ options.new ArgDecoderOptionHelper().traverse(args);
+ return options;
+ }
+
+ /** Returns true iff a .java file is among the javac arguments */
+ public boolean isJavaFilesAmongJavacArgs() {
+ for (String javacArg : javacArgs)
+ if (javacArg.endsWith(".java"))
+ return true;
+ return false;
+ }
+
+ /** Returns true iff an @-file is among the javac arguments */
+ public boolean isAtFilePresent() {
+ for (String javacArg : javacArgs)
+ if (javacArg.startsWith("@"))
+ return true;
+ return false;
+ }
+
+ /**
+ * Returns a string representation of the options that affect the result of
+ * the compilation. (Used for saving the state of the options used in a
+ * previous compile.)
+ */
+ public String getStateArgsString() {
+
+ // Local utility class for collecting the arguments
+ class StateArgs {
+
+ private List<String> args = new ArrayList<>();
+
+ void addArg(Option opt) {
+ args.add(opt.arg);
+ }
+
+ void addArg(Option opt, Object val) {
+ addArg(opt);
+ args.add(val.toString());
+ }
+
+ void addSourceLocations(Option opt, List<SourceLocation> locs) {
+ for (SourceLocation sl : locs) {
+ for (String pkg : sl.includes) addArg(Option.I, pkg);
+ for (String pkg : sl.excludes) addArg(Option.X, pkg);
+ for (String f : sl.excludedFiles) addArg(Option.XF, f);
+ for (String f : sl.includedFiles) addArg(Option.IF, f);
+ addArg(opt, sl.getPath());
+ }
+ }
+
+ String getResult() {
+ String result = "";
+ for (String s : args)
+ result += s + " ";
+ return result.trim();
+ }
+
+ public void addAll(Collection<String> toAdd) {
+ args.addAll(toAdd);
+ }
+ }
+
+ StateArgs args = new StateArgs();
+
+ // Directories
+ if (genSrcDir != null)
+ args.addArg(Option.S, genSrcDir.normalize());
+
+ if (headerDir != null)
+ args.addArg(Option.H, headerDir.normalize());
+
+ if (destDir != null)
+ args.addArg(Option.D, destDir.normalize());
+
+ // Source roots
+ args.addSourceLocations(Option.SRC, sources);
+ args.addSourceLocations(Option.SOURCEPATH, sourceSearchPaths);
+ args.addSourceLocations(Option.CLASSPATH, classSearchPaths);
+ args.addSourceLocations(Option.MODULEPATH, moduleSearchPaths);
+
+ // Boolean options
+ if (permitSourcesInDefaultPackage)
+ args.addArg(Option.PERMIT_SOURCES_WITHOUT_PACKAGE);
+
+ if (permitUnidentifiedArtifact)
+ args.addArg(Option.PERMIT_UNIDENTIFIED_ARTIFACTS);
+
+ // Translation rules
+ for (Map.Entry<String, Transformer> tr : trRules.entrySet()) {
+ String val = tr.getKey() + "=" + tr.getValue().getClass().getName();
+ args.addArg(Option.TR, val);
+ }
+
+ // Javac args
+ args.addAll(javacArgs);
+
+ return args.getResult();
+ }
+
+
+ /** Extract the arguments to be passed on to javac. */
+ public String[] prepJavacArgs() {
+ List<String> args = new ArrayList<>();
+
+ // Output directories
+ args.add("-d");
+ args.add(destDir.toString());
+
+ if (getGenSrcDir() != null) {
+ args.add("-s");
+ args.add(genSrcDir.toString());
+ }
+
+ if (headerDir != null) {
+ args.add("-h");
+ args.add(headerDir.toString());
+ }
+
+ // Prep sourcepath
+ List<SourceLocation> sourcepath = new ArrayList<>();
+ sourcepath.addAll(sources);
+ sourcepath.addAll(sourceSearchPaths);
+ if (sourcepath.size() > 0) {
+ args.add("-sourcepath");
+ args.add(concatenateSourceLocations(sourcepath));
+ }
+
+ // Prep classpath
+ if (classSearchPaths.size() > 0) {
+ args.add("-classpath");
+ args.add(concatenateSourceLocations(classSearchPaths));
+ }
+
+ // This can't be anything but 'none'. Enforced by sjavac main method.
+ args.add("-implicit:" + implicitPolicy);
+
+ // Append javac-options (i.e. pass through options not recognized by
+ // sjavac to javac.)
+ args.addAll(javacArgs);
+
+ return args.toArray(new String[args.size()]);
+ }
+
+ // Helper method to join a list of source locations separated by
+ // File.pathSeparator
+ private static String concatenateSourceLocations(List<SourceLocation> locs) {
+ String s = "";
+ for (SourceLocation loc : locs)
+ s += (s.isEmpty() ? "" : java.io.File.pathSeparator) + loc.getPath();
+ return s;
+ }
+
+ // OptionHelper that records the traversed options in this Options instance.
+ private class ArgDecoderOptionHelper extends OptionHelper {
+
+ List<String> includes, excludes, includeFiles, excludeFiles;
+ {
+ resetFilters();
+ }
+
+ boolean headerProvided = false;
+ boolean genSrcProvided = false;
+
+ @Override
+ public void reportError(String msg) {
+ throw new IllegalArgumentException(msg);
+ }
+
+ @Override
+ public void sourceRoots(List<Path> paths) {
+ sources.addAll(createSourceLocations(paths));
+ }
+
+ @Override
+ public void exclude(String exclPattern) {
+ excludes.add(exclPattern);
+ }
+
+ @Override
+ public void include(String inclPattern) {
+ includes.add(inclPattern);
+ }
+
+ @Override
+ public void excludeFile(String exclFilePattern) {
+ excludeFiles.add(exclFilePattern);
+ }
+
+ @Override
+ public void includeFile(String inclFilePattern) {
+ includeFiles.add(inclFilePattern);
+ }
+
+ @Override
+ public void addTransformer(String suffix, Transformer tr) {
+ if (trRules.containsKey(suffix)) {
+ reportError("More than one transformer specified for " +
+ "suffix " + suffix + ".");
+ return;
+ }
+ trRules.put(suffix, tr);
+ }
+
+ @Override
+ public void sourcepath(List<Path> paths) {
+ sourceSearchPaths.addAll(createSourceLocations(paths));
+ }
+
+ @Override
+ public void modulepath(List<Path> paths) {
+ moduleSearchPaths.addAll(createSourceLocations(paths));
+ }
+
+ @Override
+ public void classpath(List<Path> paths) {
+ classSearchPaths.addAll(createSourceLocations(paths));
+ }
+
+ @Override
+ public void numCores(int n) {
+ numCores = n;
+ }
+
+ @Override
+ public void logLevel(String level) {
+ logLevel = level;
+ }
+
+ @Override
+ public void compareFoundSources(Path referenceList) {
+ sourceReferenceList = referenceList;
+ }
+
+ @Override
+ public void permitUnidentifiedArtifacts() {
+ permitUnidentifiedArtifact = true;
+ }
+
+ @Override
+ public void permitDefaultPackage() {
+ permitSourcesInDefaultPackage = true;
+ }
+
+ @Override
+ public void serverConf(String conf) {
+ if (serverConf != null)
+ reportError("Can not specify more than one server configuration.");
+ else
+ serverConf = conf;
+ }
+
+ @Override
+ public void implicit(String policy) {
+ implicitPolicy = policy;
+ }
+
+ @Override
+ public void startServerConf(String conf) {
+ if (serverConf != null)
+ reportError("Can not specify more than one server configuration.");
+ else {
+ startServer = true;
+ serverConf = conf;
+ }
+ }
+
+ @Override
+ public void javacArg(String... arg) {
+ javacArgs.addAll(Arrays.asList(arg));
+ }
+
+ @Override
+ public void destDir(Path dir) {
+ if (destDir != null) {
+ reportError("Destination directory already specified.");
+ return;
+ }
+ destDir = dir.toAbsolutePath();
+ }
+
+ @Override
+ public void generatedSourcesDir(Path dir) {
+ if (genSrcProvided) {
+ reportError("Directory for generated sources already specified.");
+ return;
+ }
+ genSrcProvided = true;
+ genSrcDir = dir.toAbsolutePath();
+ }
+
+ @Override
+ public void headerDir(Path dir) {
+ if (headerProvided) {
+ reportError("Header directory already specified.");
+ return;
+ }
+ headerProvided = true;
+ headerDir = dir.toAbsolutePath();
+ }
+
+ private List<SourceLocation> createSourceLocations(List<Path> paths) {
+ List<SourceLocation> result = new ArrayList<>();
+ for (Path path : paths) {
+ result.add(new SourceLocation(
+ path,
+ includes,
+ excludes,
+ includeFiles,
+ excludeFiles));
+ }
+ resetFilters();
+ return result;
+ }
+
+ private void resetFilters() {
+ includes = new ArrayList<>();
+ excludes = new ArrayList<>();
+ includeFiles = new ArrayList<>();
+ excludeFiles = new ArrayList<>();
+ }
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/options/SourceLocation.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.tools.sjavac.options;
+
+import java.nio.file.Path;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import com.sun.tools.sjavac.Module;
+import com.sun.tools.sjavac.ProblemException;
+import com.sun.tools.sjavac.Source;
+
+/**
+ * Represents a directory to be used for input to sjavac. (For instance a
+ * sourcepath or classpath.)
+ */
+public class SourceLocation {
+
+ // Path to the root directory
+ private Path path;
+
+ // Package include / exclude patterns and file includes / excludes.
+ List<String> includes, excludes, includedFiles, excludedFiles;
+
+ public SourceLocation(Path path,
+ List<String> includes,
+ List<String> excludes,
+ List<String> includedFiles,
+ List<String> excludedFiles) {
+ this.path = path;
+ this.includes = includes;
+ this.excludes = excludes;
+ this.includedFiles = includedFiles;
+ this.excludedFiles = excludedFiles;
+ }
+
+
+ /**
+ * Finds all files with the given suffix that pass the include / exclude
+ * filters in this source location.
+ *
+ * @param suffixes The set of suffixes to search for
+ * @param foundFiles The map in which to store the found files
+ * @param foundModules The map in which to store the found modules
+ * @param currentModule The current module
+ * @param permitSourcesInDefaultPackage true if sources in default package
+ * are to be permitted
+ * @param inLinksrc true if in link source
+ */
+ public void findSourceFiles(Set<String> suffixes,
+ Map<String, Source> foundFiles,
+ Map<String, Module> foundModules,
+ Module currentModule,
+ boolean permitSourcesInDefaultPackage,
+ boolean inLinksrc) {
+ try {
+ Source.scanRoot(path.toFile(), suffixes, excludes, includes,
+ excludedFiles, includedFiles, foundFiles, foundModules,
+ currentModule, permitSourcesInDefaultPackage, false,
+ inLinksrc);
+ } catch (ProblemException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /** Get the root directory of this source location */
+ public Path getPath() {
+ return path;
+ }
+
+ /** Get the package include patterns */
+ public List<String> getIncludes() {
+ return includes;
+ }
+
+ /** Get the package exclude patterns */
+ public List<String> getExcludes() {
+ return excludes;
+ }
+
+ /** Get the file include patterns */
+ public List<String> getIncludedFiles() {
+ return includedFiles;
+ }
+
+ /** Get the file exclude patterns */
+ public List<String> getExcludedFiles() {
+ return excludedFiles;
+ }
+
+}
--- a/langtools/src/share/classes/com/sun/tools/sjavac/server/JavacServer.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/server/JavacServer.java Thu Apr 24 16:04:44 2014 -0700
@@ -104,6 +104,17 @@
allPortFiles = new HashMap<>();
}
PortFile pf = allPortFiles.get(filename);
+
+ // Port file known. Does it still exist?
+ if (pf != null) {
+ try {
+ if (!pf.exists())
+ pf = null;
+ } catch (IOException ioex) {
+ ioex.printStackTrace();
+ }
+ }
+
if (pf == null) {
pf = new PortFile(filename);
allPortFiles.put(filename, pf);
@@ -305,7 +316,7 @@
// We could not connect to the server. Try again.
attempts++;
try {
- Thread.sleep(WAIT_BETWEEN_CONNECT_ATTEMPTS);
+ Thread.sleep(WAIT_BETWEEN_CONNECT_ATTEMPTS * 1000);
} catch (InterruptedException e) {
}
}
--- a/langtools/src/share/classes/com/sun/tools/sjavac/server/PortFile.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/src/share/classes/com/sun/tools/sjavac/server/PortFile.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
--- a/langtools/test/com/sun/javadoc/5093723/T5093723.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/5093723/T5093723.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,10 +33,8 @@
public class T5093723 extends JavadocTester {
- private static final String BUG_ID = "5093723";
-
private static final String[] ARGS = new String[] {
- "-d", BUG_ID + ".out", "-Xdoclint:none",
+ "-d", OUTPUT_DIR + ".out", "-Xdoclint:none",
SRC_DIR + "/DocumentedClass.java",
SRC_DIR + "/UndocumentedClass.java"
};
@@ -46,12 +44,4 @@
if (tester.runJavadoc(ARGS) != 0)
throw new AssertionError("non-zero return code from javadoc");
}
-
- public String getBugId() {
- return BUG_ID;
- }
-
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/AccessSummary/AccessSummary.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/AccessSummary/AccessSummary.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,30 +34,27 @@
public class AccessSummary extends JavadocTester {
- private static final String BUG_ID = "4637604-4775148";
- private static final String OUTPUT_DIR1 = "docs1-" + BUG_ID + "/";
-
/**
* Assign value for [ fileToSearch, stringToFind ]
*/
private static final String[][] TESTARRAY1 = {
// Test that the summary attribute appears
- { OUTPUT_DIR1 + "overview-summary.html",
+ { "overview-summary.html",
"summary=\"Packages table, listing packages, and an explanation\"" },
// Test that the summary attribute appears
- { OUTPUT_DIR1 + "p1/C1.html",
+ { "p1/C1.html",
"summary=\"Constructor Summary table, listing constructors, and an explanation\"" },
// Test that the summary attribute appears
- { OUTPUT_DIR1 + "constant-values.html",
+ { "constant-values.html",
"summary=\"Constant Field Values table, listing constant fields, and values\"" }
};
// First test with -header only
private static final String[] JAVADOC_ARGS = new String[] {
- "-d", OUTPUT_DIR1,
+ "-d", OUTPUT_DIR,
"-sourcepath", SRC_DIR,
"p1", "p2"};
@@ -67,21 +64,7 @@
*/
public static void main(String[] args) {
JavadocTester tester = new AccessSummary();
- run(tester, JAVADOC_ARGS, TESTARRAY1, new String[][] {});
+ tester.run(JAVADOC_ARGS, TESTARRAY1, new String[][] {});
tester.printSummary(); // Necessary for string search
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/MetaTag/MetaTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/MetaTag/MetaTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -39,8 +39,6 @@
public class MetaTag extends JavadocTester {
//Test information.
- private static final String BUG_ID = "4034096-4764726-6235799";
- private static final String OUTPUT_DIR = "docs-" + BUG_ID;
private static final SimpleDateFormat m_dateFormat = new SimpleDateFormat("yyyy-MM-dd");
//Javadoc arguments.
@@ -63,65 +61,62 @@
//Input for string search tests.
private static final String[][] TEST = {
- { OUTPUT_DIR + "/p1/C1.html",
+ { "p1/C1.html",
"<meta name=\"keywords\" content=\"p1.C1 class\">" },
- { OUTPUT_DIR + "/p1/C1.html",
+ { "p1/C1.html",
"<meta name=\"keywords\" content=\"field1\">" },
- { OUTPUT_DIR + "/p1/C1.html",
+ { "p1/C1.html",
"<meta name=\"keywords\" content=\"field2\">" },
- { OUTPUT_DIR + "/p1/C1.html",
+ { "p1/C1.html",
"<meta name=\"keywords\" content=\"method1()\">" },
- { OUTPUT_DIR + "/p1/C1.html",
+ { "p1/C1.html",
"<meta name=\"keywords\" content=\"method2()\">" },
- { OUTPUT_DIR + "/p1/package-summary.html",
+ { "p1/package-summary.html",
"<meta name=\"keywords\" content=\"p1 package\">" },
- { OUTPUT_DIR + "/overview-summary.html",
+ { "overview-summary.html",
"<meta name=\"keywords\" content=\"Overview, Sample Packages\">" },
//NOTE: Hopefully, this regression test is not run at midnight. If the output
//was generated yesterday and this test is run today, the test will fail.
- {OUTPUT_DIR + "/overview-summary.html",
+ { "overview-summary.html",
"<meta name=\"date\" "
+ "content=\"" + m_dateFormat.format(new Date()) + "\">"},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
-
- private static final String[][] TEST2 = NO_TEST;
private static final String[][] NEGATED_TEST2 = {
//No keywords when -keywords is not used.
- { OUTPUT_DIR + "-2/p1/C1.html",
+ { "p1/C1.html",
"<META NAME=\"keywords\" CONTENT=\"p1.C1 class\">" },
- { OUTPUT_DIR + "-2/p1/C1.html",
+ { "p1/C1.html",
"<META NAME=\"keywords\" CONTENT=\"field1\">" },
- { OUTPUT_DIR + "-2/p1/C1.html",
+ { "p1/C1.html",
"<META NAME=\"keywords\" CONTENT=\"field2\">" },
- { OUTPUT_DIR + "-2/p1/C1.html",
+ { "p1/C1.html",
"<META NAME=\"keywords\" CONTENT=\"method1()\">" },
- { OUTPUT_DIR + "-2/p1/C1.html",
+ { "p1/C1.html",
"<META NAME=\"keywords\" CONTENT=\"method2()\">" },
- { OUTPUT_DIR + "-2/p1/package-summary.html",
+ { "p1/package-summary.html",
"<META NAME=\"keywords\" CONTENT=\"p1 package\">" },
- { OUTPUT_DIR + "-2/overview-summary.html",
+ { "overview-summary.html",
"<META NAME=\"keywords\" CONTENT=\"Overview Summary, Sample Packages\">" },
//The date metatag should not show up when -notimestamp is used.
//NOTE: Hopefully, this regression test is not run at midnight. If the output
//was generated yesterday and this test is run today, the test will fail.
- {OUTPUT_DIR + "-2/overview-summary.html",
+ { "overview-summary.html",
"<META NAME=\"date\" "
+ "CONTENT=\"" + m_dateFormat.format(new Date()) + "\">"},
};
@@ -132,22 +127,8 @@
*/
public static void main(String[] args) {
MetaTag tester = new MetaTag();
- run(tester, ARGS, TEST, NEGATED_TEST);
- run(tester, ARGS_NO_TIMESTAMP_NO_KEYWORDS, TEST2, NEGATED_TEST2);
+ tester.run(ARGS, TEST, NO_TEST);
+ tester.run(ARGS_NO_TIMESTAMP_NO_KEYWORDS, NO_TEST, NEGATED_TEST2);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/PackagesHeader/PackagesHeader.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/PackagesHeader/PackagesHeader.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,12 +37,9 @@
public class PackagesHeader extends JavadocTester {
//Test information.
- private static final String BUG_ID = "4766385";
- private static final String OUTPUT_DIR = "docs-" + BUG_ID;
-
- private static final String OUTPUT_DIR1 = "docs1-" + BUG_ID + "/";
- private static final String OUTPUT_DIR2 = "docs2-" + BUG_ID + "/";
- private static final String OUTPUT_DIR3 = "docs3-" + BUG_ID + "/";
+ private static final String OUTPUT_DIR1 = OUTPUT_DIR + "-1/";
+ private static final String OUTPUT_DIR2 = OUTPUT_DIR + "-2/";
+ private static final String OUTPUT_DIR3 = OUTPUT_DIR + "-3/";
/**
* Assign value for [ fileToSearch, stringToFind ]
@@ -50,7 +47,7 @@
private static final String[][] TESTARRAY1 = {
// Test that the -header shows up in the packages frame
- { OUTPUT_DIR1 + "overview-frame.html",
+ { "overview-frame.html",
"Main Frame Header" }
};
@@ -59,7 +56,7 @@
// Test that the -packagesheader string shows
// up in the packages frame
- { OUTPUT_DIR2 + "overview-frame.html",
+ { "overview-frame.html",
"Packages Frame Header" }
};
@@ -67,10 +64,10 @@
// Test that the both headers show up and are different
- { OUTPUT_DIR3 + "overview-frame.html",
+ { "overview-frame.html",
"Packages Frame Header" },
- { OUTPUT_DIR3 + "overview-summary.html",
+ { "overview-summary.html",
"Main Frame Header" }
};
@@ -97,9 +94,6 @@
"p1", "p2"};
- //Input for string search tests.
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
@@ -107,24 +101,10 @@
public static void main(String[] args) {
JavadocTester tester = new PackagesHeader();
- run(tester, JAVADOC_ARGS1, TESTARRAY1, NEGATED_TEST);
- run(tester, JAVADOC_ARGS2, TESTARRAY2, NEGATED_TEST);
- run(tester, JAVADOC_ARGS3, TESTARRAY3, NEGATED_TEST);
+ tester.run(JAVADOC_ARGS1, TESTARRAY1, NO_TEST);
+ tester.run(JAVADOC_ARGS2, TESTARRAY2, NO_TEST);
+ tester.run(JAVADOC_ARGS3, TESTARRAY3, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/T6735320/T6735320.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/T6735320/T6735320.java Thu Apr 24 16:04:44 2014 -0700
@@ -31,20 +31,11 @@
*/
public class T6735320 extends JavadocTester {
- private static final String BUG_ID = "6735320";
private static final String[] ARGS = new String[]{
- "-d", BUG_ID + ".out",
+ "-d", OUTPUT_DIR + ".out",
SRC_DIR + "/SerialFieldTest.java"
};
- public String getBugId() {
- return BUG_ID;
- }
-
- public String getBugName() {
- return getClass().getName();
- }
-
public static void main(String... args) {
T6735320 tester = new T6735320();
if (tester.runJavadoc(ARGS) == 0) {
--- a/langtools/test/com/sun/javadoc/_template/Template.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/_template/Template.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,10 +33,6 @@
public class Template extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "<BUG ID>";
- private static final String OUTPUT_DIR = "docs-" + BUG_ID;
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
"-d", OUTPUT_DIR, "-sourcepath", SRC_DIR
@@ -52,21 +48,7 @@
*/
public static void main(String[] args) {
Template tester = new Template();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/_template/TemplateComplete.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/_template/TemplateComplete.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,10 +33,6 @@
public class TemplateComplete extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "<BUG ID>";
- private static final String OUTPUT_DIR = "docs-" + BUG_ID;
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
"-d", OUTPUT_DIR, "-sourcepath", SRC_DIR
@@ -51,6 +47,8 @@
//Input for file diff test.
+ private static final String DIFFDIR1 = null;
+ private static final String DIFFDIR2 = null;
private static final String[][] FILES_TO_DIFF = {};
/**
@@ -59,23 +57,9 @@
*/
public static void main(String[] args) {
TemplateComplete tester = new TemplateComplete();
- int actualExitCode = run(tester, ARGS, TEST, NEGATED_TEST);
+ int actualExitCode = tester.run(ARGS, TEST, NEGATED_TEST);
tester.checkExitCode(EXPECTED_EXIT_CODE, actualExitCode);
- tester.runDiffs(FILES_TO_DIFF, false);
+ tester.runDiffs(DIFFDIR1, DIFFDIR2, FILES_TO_DIFF, false);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/constantValues/TestConstantValuesDriver.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/constantValues/TestConstantValuesDriver.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,9 +33,8 @@
*/
public class TestConstantValuesDriver extends JavadocTester {
- private static final String BUG_ID = "4504730-4526070-5077317";
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, SRC_DIR + "/TestConstantValues.java",
+ "-d", OUTPUT_DIR, SRC_DIR + "/TestConstantValues.java",
SRC_DIR + "/TestConstantValues2.java",
SRC_DIR + "/A.java"
};
@@ -47,31 +46,17 @@
public static void main(String[] args) {
String[][] tests = new String[5][2];
for (int i = 0; i < tests.length-1; i++) {
- tests[i][0] = BUG_ID + "/constant-values.html";
+ tests[i][0] = "constant-values.html";
tests[i][1] = "TEST"+(i+1)+"PASSES";
}
- tests[tests.length-1][0] = BUG_ID + "/constant-values.html";
+ tests[tests.length-1][0] = "constant-values.html";
tests[tests.length-1][1] = "<code>\"<Hello World>\"</code>";
TestConstantValuesDriver tester = new TestConstantValuesDriver();
- run(tester, ARGS, tests, NO_TEST);
+ tester.run(ARGS, tests, NO_TEST);
tester.printSummary();
}
/**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
-
- /**
* @throws java.io.IOException Test 1 passes
* @throws java.io.IOException Test 2 passes
* @throws java.lang.NullPointerException comment three
--- a/langtools/test/com/sun/javadoc/dupThrowsTags/TestDupThrowsTags.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/dupThrowsTags/TestDupThrowsTags.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,9 +33,8 @@
*/
public class TestDupThrowsTags extends JavadocTester {
- private static final String BUG_ID = "4525364";
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, SRC_DIR + "/TestDupThrowsTags.java"
+ "-d", OUTPUT_DIR, SRC_DIR + "/TestDupThrowsTags.java"
};
/**
@@ -45,29 +44,15 @@
public static void main(String[] args) {
String[][] tests = new String[4][2];
for (int i = 0; i < tests.length; i++) {
- tests[i][0] = BUG_ID + "/TestDupThrowsTags.html";
+ tests[i][0] = "TestDupThrowsTags.html";
tests[i][1] = "Test "+(i+1)+" passes";
}
TestDupThrowsTags tester = new TestDupThrowsTags();
- run(tester, ARGS, tests, NO_TEST);
+ tester.run(ARGS, tests, NO_TEST);
tester.printSummary();
}
/**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
-
- /**
* @throws java.io.IOException Test 1 passes
* @throws java.io.IOException Test 2 passes
* @throws java.lang.NullPointerException Test 3 passes
--- a/langtools/test/com/sun/javadoc/lib/JavadocTester.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/lib/JavadocTester.java Thu Apr 24 16:04:44 2014 -0700
@@ -21,8 +21,6 @@
* questions.
*/
-import com.sun.javadoc.*;
-import java.util.*;
import java.io.*;
@@ -56,6 +54,7 @@
protected static final String SRC_DIR = System.getProperty("test.src", ".");
protected static final String JAVA_VERSION = System.getProperty("java.version");
+ protected static final String OUTPUT_DIR = "out";
protected static final String[][] NO_TEST = new String[][] {};
protected static final String[] NO_FILE_TEST = new String[] {};
@@ -105,11 +104,16 @@
public StringWriter warnings;
/**
- * The buffer of warning output..
+ * The buffer of warning output.
*/
public StringBuffer standardOut;
/**
+ * The output directory.
+ */
+ private File outputDir;
+
+ /**
* The current subtest number.
*/
private static int numTestsRun = 0;
@@ -131,37 +135,23 @@
}
/**
- * Return the bug id.
- * @return the bug id
- */
- public abstract String getBugId();
-
- /**
- * Return the name of the bug.
- * @return the name of the bug
- */
- public abstract String getBugName();
-
- /**
* Execute the tests.
*
- * @param tester the tester to execute
* @param args the arguments to pass to Javadoc
* @param testArray the array of tests
* @param negatedTestArray the array of negated tests
* @return the return code for the execution of Javadoc
*/
- public static int run(JavadocTester tester, String[] args,
+ public int run(String[] args,
String[][] testArray, String[][] negatedTestArray) {
- int returnCode = tester.runJavadoc(args);
- tester.runTestsOnHTML(testArray, negatedTestArray);
+ int returnCode = runJavadoc(args);
+ runTestsOnHTML(testArray, negatedTestArray);
return returnCode;
}
/**
* Execute the tests.
*
- * @param tester the tester to execute
* @param args the arguments to pass to Javadoc
* @param testArray the array of tests
* @param negatedTestArray the array of negated tests
@@ -169,12 +159,12 @@
* @param negatedFileTestArray the array of negated file tests
* @return the return code for the execution of Javadoc
*/
- public static int run(JavadocTester tester, String[] args,
- String[][] testArray, String[][] negatedTestArray, String[] fileTestArray,
- String[] negatedFileTestArray) {
- int returnCode = tester.runJavadoc(args);
- tester.runTestsOnHTML(testArray, negatedTestArray);
- tester.runTestsOnFile(fileTestArray, negatedFileTestArray);
+ public int run(String[] args,
+ String[][] testArray, String[][] negatedTestArray,
+ String[] fileTestArray, String[] negatedFileTestArray) {
+ int returnCode = runJavadoc(args);
+ runTestsOnHTML(testArray, negatedTestArray);
+ runTestsOnFile(fileTestArray, negatedFileTestArray);
return returnCode;
}
@@ -208,6 +198,13 @@
+ javadocRunNum + ")...");
}
initOutputBuffers();
+ outputDir = new File(".");
+ for (int i = 0; i < args.length - 2; i++) {
+ if (args[i].equals("-d")) {
+ outputDir = new File(args[++i]);
+ break;
+ }
+ }
ByteArrayOutputStream stdout = new ByteArrayOutputStream();
PrintStream prevOut = System.out;
@@ -218,7 +215,7 @@
System.setErr(new PrintStream(stderr));
int returnCode = com.sun.tools.javadoc.Main.execute(
- getBugName(),
+ "javadoc",
new PrintWriter(errors, true),
new PrintWriter(warnings, true),
new PrintWriter(notices, true),
@@ -260,60 +257,53 @@
* Run array of tests on the generated files.
* This method accepts a fileTestArray for testing if a file is generated
* and a negatedFileTestArray for testing if a file is not found.
+ * The files are relative to the most recent output directory specified
+ * with -d.
*
- * @param testArray the array of file tests
- * @param negatedTestArray the array of negated file tests
+ * @param fileTestArray the array of file tests
+ * @param negatedFileTestArray the array of negated file tests
*/
public void runTestsOnFile(String[] fileTestArray, String[] negatedFileTestArray) {
- runTestsOnFile(fileTestArray, false);
- runTestsOnFile(negatedFileTestArray, true);
+ runTestsOnFile(outputDir, fileTestArray, false);
+ runTestsOnFile(outputDir, negatedFileTestArray, true);
}
/**
* Run the array of tests on the resulting HTML.
+ * The files are relative to the most recent output directory specified
+ * with -d.
*
* @param testArray the array of tests
* @param isNegated true if test is negated; false otherwise
*/
private void runTestsOnHTML(String[][] testArray , boolean isNegated) {
- for (int i = 0; i < testArray.length; i++) {
-
+ for (String[] test : testArray) {
numTestsRun++;
-
System.out.print("Running subtest #" + numTestsRun + "... ");
-
// Get string to find
- String stringToFind = testArray[i][1];
-
+ String stringToFind = test[1];
// Read contents of file into a string
String fileString;
try {
- fileString = readFileToString(testArray[i][0]);
+ fileString = readFileToString(outputDir, test[0]);
} catch (Error e) {
if (isNegated) {
- System.out.println( "FAILED" + "\n"
- + "for bug " + getBugId()
- + " (" + getBugName() + ") "
- + "due to "
- + e + "\n");
- continue;
+ System.out.println( "FAILED, due to " + e + "\n");
+ continue;
}
throw e;
}
// Find string in file's contents
boolean isFound = findString(fileString, stringToFind);
- if ((isNegated && !isFound) || (!isNegated && isFound) ) {
+ if ((isNegated && !isFound) || (!isNegated && isFound)) {
numTestsPassed += 1;
- System.out.println( "Passed" + "\n"
- + (isNegated ? "not found:" : "found:") + "\n"
- + stringToFind + " in " + testArray[i][0] + "\n");
+ System.out.println("Passed" + "\n"
+ + (isNegated ? "not found:" : "found:") + "\n"
+ + stringToFind + " in " + test[0] + "\n");
} else {
- System.out.println( "FAILED" + "\n"
- + "for bug " + getBugId()
- + " (" + getBugName() + ")" + "\n"
- + "when searching for:" + "\n"
- + stringToFind
- + " in " + testArray[i][0] + "\n");
+ System.out.println("FAILED, when searching for:" + "\n"
+ + stringToFind
+ + " in " + test[0] + "\n");
}
}
}
@@ -324,21 +314,15 @@
* @param testArray the array of file tests
* @param isNegated true if test is negated; false otherwise
*/
- private void runTestsOnFile(String[] testArray, boolean isNegated) {
- String fileName;
- String failedString;
- String passedString;
- for (int i = 0; i < testArray.length; i++) {
+ private void runTestsOnFile(File baseDir, String[] testArray, boolean isNegated) {
+ for (String fileName : testArray) {
numTestsRun++;
- fileName = testArray[i];
- failedString = "FAILED" + "\n"
- + "for bug " + getBugId() + " (" + getBugName() + ") "
- + "file (" + fileName + ") found" + "\n";
- passedString = "Passed" + "\n" +
- "file (" + fileName + ") not found" + "\n";
+ String failedString = "FAILED: file (" + fileName + ") found" + "\n";
+ String passedString = "Passed" + "\n" +
+ "file (" + fileName + ") not found" + "\n";
System.out.print("Running subtest #" + numTestsRun + "... ");
try {
- File file = new File(fileName);
+ File file = new File(baseDir, fileName);
if ((file.exists() && !isNegated) || (!file.exists() && isNegated)) {
numTestsPassed += 1;
System.out.println(passedString);
@@ -354,27 +338,33 @@
/**
* Iterate through the list of given file pairs and diff each file.
*
- * @param filePairs the pairs of files to diff.
- * @throws an Error is thrown if any differences are found between
+ * @param baseDir1 the directory containing the first set of files
+ * @param baseDir2 the directory containing the second set of files
+ * @param files the set of files to be compared
+ * @throws Error if any differences are found between
* file pairs.
*/
- public void runDiffs(String[][] filePairs) throws Error {
- runDiffs(filePairs, true);
+ public void runDiffs(String baseDir1, String baseDir2, String[] files) throws Error {
+ runDiffs(baseDir1, baseDir2, files, true);
}
/**
* Iterate through the list of given file pairs and diff each file.
*
- * @param filePairs the pairs of files to diff.
- * @param throwErrorIFNoMatch flag to indicate whether or not to throw
+ * @param baseDir1 the directory containing the first set of files
+ * @param baseDir2 the directory containing the second set of files
+ * @param files the set of files to be compared
+ * @param throwErrorIfNoMatch flag to indicate whether or not to throw
* an error if the files do not match.
*
- * @throws an Error is thrown if any differences are found between
- * file pairs and throwErrorIFNoMatch is true.
+ * @throws Error if any differences are found between
+ * file pairs and throwErrorIfNoMatch is true.
*/
- public void runDiffs(String[][] filePairs, boolean throwErrorIfNoMatch) throws Error {
- for (int i = 0; i < filePairs.length; i++) {
- diff(filePairs[i][0], filePairs[i][1], throwErrorIfNoMatch);
+ public void runDiffs(String baseDir1, String baseDir2, String[] files, boolean throwErrorIfNoMatch) throws Error {
+ File bd1 = new File(baseDir1);
+ File bd2 = new File(baseDir2);
+ for (String file : files) {
+ diff(bd1, bd2, file, throwErrorIfNoMatch);
}
}
@@ -394,8 +384,7 @@
actualExitCode);
numTestsPassed++;
} else {
- System.out.println( "FAILED" + "\n" + "for bug " + getBugId()
- + " (" + getBugName() + ")" + "\n" + "Expected return code " +
+ System.out.println( "FAILED: expected return code " +
expectedExitCode + " but got " + actualExitCode);
}
}
@@ -412,8 +401,7 @@
// Test failed
throw new Error("\n" + (numTestsRun - numTestsPassed)
+ " of " + (numTestsRun)
- + " subtests failed for bug " + getBugId()
- + " (" + getBugName() + ")" + "\n");
+ + " subtests failed\n");
}
}
@@ -434,28 +422,39 @@
* @return the file in string format
*/
public String readFileToString(String fileName) throws Error {
- if (fileName.equals(ERROR_OUTPUT)) {
- return getErrorOutput();
- } else if (fileName.equals(NOTICE_OUTPUT)) {
- return getNoticeOutput();
- } else if (fileName.equals(WARNING_OUTPUT)) {
- return getWarningOutput();
- } else if (fileName.equals(STANDARD_OUTPUT)) {
- return getStandardOutput();
+ return readFileToString(outputDir, fileName);
+ }
+
+ /**
+ * Read the file and return it as a string.
+ *
+ * @param baseDir the directory in which to locate the file
+ * @param fileName the name of the file to read
+ * @return the file in string format
+ */
+ private String readFileToString(File baseDir, String fileName) throws Error {
+ switch (fileName) {
+ case ERROR_OUTPUT:
+ return getErrorOutput();
+ case NOTICE_OUTPUT:
+ return getNoticeOutput();
+ case WARNING_OUTPUT:
+ return getWarningOutput();
+ case STANDARD_OUTPUT:
+ return getStandardOutput();
}
try {
- File file = new File(fileName);
+ File file = new File(baseDir, fileName);
if ( !file.exists() ) {
System.out.println("\n" + "FILE DOES NOT EXIST: " + fileName);
}
- BufferedReader in = new BufferedReader(new FileReader(file));
-
- // Create an array of characters the size of the file
- char[] allChars = new char[(int)file.length()];
-
- // Read the characters into the allChars array
- in.read(allChars, 0, (int)file.length());
- in.close();
+ char[] allChars;
+ try (BufferedReader in = new BufferedReader(new FileReader(file))) {
+ // Create an array of characters the size of the file
+ allChars = new char[(int)file.length()];
+ // Read the characters into the allChars array
+ in.read(allChars, 0, (int)file.length());
+ }
// Convert to a string
String allCharsString = new String(allChars);
@@ -472,22 +471,24 @@
/**
* Compare the two given files.
*
- * @param file1 the first file to compare.
- * @param file2 the second file to compare.
+ * @param baseDir1 the directory in which to locate the first file
+ * @param baseDir2 the directory in which to locate the second file
+ * @param file the file to compare in the two base directories
* @param throwErrorIFNoMatch flag to indicate whether or not to throw
* an error if the files do not match.
* @return true if the files are the same and false otherwise.
*/
- public boolean diff(String file1, String file2, boolean throwErrorIFNoMatch) throws Error {
- String file1Contents = readFileToString(file1);
- String file2Contents = readFileToString(file2);
+ private boolean diff(File baseDir1, File baseDir2, String file,
+ boolean throwErrorIFNoMatch) throws Error {
+ String file1Contents = readFileToString(baseDir1, file);
+ String file2Contents = readFileToString(baseDir2, file);
numTestsRun++;
if (file1Contents.trim().compareTo(file2Contents.trim()) == 0) {
- System.out.println("Diff successful: " + file1 + ", " + file2);
+ System.out.println("Diff successful: " + new File(baseDir1, file) + ", " + new File(baseDir2, file));
numTestsPassed++;
return true;
} else if (throwErrorIFNoMatch) {
- throw new Error("Diff failed: " + file1 + ", " + file2);
+ throw new Error("Diff failed: " + new File(baseDir1, file) + ", " + new File(baseDir2, file));
} else {
return false;
}
@@ -561,12 +562,12 @@
destDirObj.mkdir();
}
String[] files = targetDirObj.list();
- for (int i = 0; i < files.length; i++) {
- File srcFile = new File(targetDirObj, files[i]);
- File destFile = new File(destDirObj, files[i]);
+ for (String file : files) {
+ File srcFile = new File(targetDirObj, file);
+ File destFile = new File(destDirObj, file);
if (srcFile.isFile()) {
System.out.println("Copying " + srcFile + " to " + destFile);
- copyFile(destFile, srcFile);
+ copyFile(destFile, srcFile);
} else if(srcFile.isDirectory()) {
copyDir(srcFile.getAbsolutePath(), destDirObj.getAbsolutePath());
}
@@ -579,13 +580,15 @@
/**
* Copy source file to destination file.
*
+ * @param destfile the destination file
+ * @param srcfile the source file
* @throws SecurityException
* @throws IOException
*/
public static void copyFile(File destfile, File srcfile)
throws IOException {
byte[] bytearr = new byte[512];
- int len = 0;
+ int len;
FileInputStream input = new FileInputStream(srcfile);
File destDir = destfile.getParentFile();
destDir.mkdirs();
@@ -594,8 +597,7 @@
while ((len = input.read(bytearr)) != -1) {
output.write(bytearr, 0, len);
}
- } catch (FileNotFoundException exc) {
- } catch (SecurityException exc) {
+ } catch (FileNotFoundException | SecurityException exc) {
} finally {
input.close();
output.close();
--- a/langtools/test/com/sun/javadoc/testAbsLinkPath/TestAbsLinkPath.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testAbsLinkPath/TestAbsLinkPath.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,10 +34,8 @@
public class TestAbsLinkPath extends JavadocTester {
- private static final String BUG_ID = "4640745";
private static final String[][] TEST = {
- {"tmp/pkg1/C1.html", "C2.html"}};
- private static final String[][] NEGATED_TEST = NO_TEST;
+ { "pkg1/C1.html", "C2.html"}};
private static final String[] ARGS1 =
new String[] {
@@ -53,22 +51,8 @@
*/
public static void main(String[] args) {
TestAbsLinkPath tester = new TestAbsLinkPath();
- run(tester, ARGS1, NO_TEST, NO_TEST);
- run(tester, ARGS2, TEST, NEGATED_TEST);
+ tester.run(ARGS1, NO_TEST, NO_TEST);
+ tester.run(ARGS2, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testAbstractMethod/TestAbstractMethod.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,18 +35,17 @@
public class TestAbstractMethod extends JavadocTester {
//Test information.
- private static final String BUG_ID = "8004891";
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<td class=\"colFirst\"><code>default void</code></td>"},
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>" +
"All Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t2\" class=\"tableTab\"><span>" +
@@ -57,7 +56,7 @@
"</span><span id=\"t5\" class=\"tableTab\"><span>" +
"<a href=\"javascript:show(16);\">Default Methods</a></span>" +
"<span class=\"tabEnd\"> </span></span></caption>"},
- {BUG_ID + "/pkg/B.html",
+ { "pkg/B.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>" +
"All Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t2\" class=\"tableTab\"><span>" +
@@ -68,9 +67,9 @@
"<span id=\"t4\" class=\"tableTab\"><span>" +
"<a href=\"javascript:show(8);\">Concrete Methods</a></span>" +
"<span class=\"tabEnd\"> </span></span></caption>"},
- {BUG_ID + "/pkg/B.html",
+ { "pkg/B.html",
"<td class=\"colFirst\"><code>abstract void</code></td>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>" +
"All Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t2\" class=\"tableTab\"><span>" +
@@ -79,18 +78,18 @@
"<span id=\"t5\" class=\"tableTab\"><span>" +
"<a href=\"javascript:show(16);\">Default Methods</a></span>" +
"<span class=\"tabEnd\"> </span></span></caption>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<td class=\"colFirst\"><code>default void</code></td>"}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<td class=\"colFirst\"><code>abstract void</code></td>"},
- {BUG_ID + "/pkg/B.html",
+ { "pkg/B.html",
"<span><a href=\"javascript:show(16);\">Default Methods</a></span>" +
"<span class=\"tabEnd\"> </span>"},
- {BUG_ID + "/pkg/B.html",
+ { "pkg/B.html",
"<td class=\"colFirst\"><code>default void</code></td>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<span><a href=\"javascript:show(4);\">Abstract Methods</a></span>" +
"<span class=\"tabEnd\"> </span>"}
};
@@ -101,21 +100,7 @@
*/
public static void main(String[] args) {
TestAbstractMethod tester = new TestAbstractMethod();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,41 +33,40 @@
public class TestAnchorNames extends JavadocTester {
- private static final String BUG_ID = "8025633";
//Input for string search tests.
private static final String[][] TEST = {
//Test some section markers and links to these markers
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"skip.navbar.top\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"nested.class.summary\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"#nested.class.summary\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"method.summary\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"#method.summary\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"field.detail\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"#field.detail\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"constructor.detail\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"#constructor.detail\">"
},
@@ -75,170 +74,170 @@
//The marker for this appears in the serialized-form.html which we will
//test below
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../serialized-form.html#pkg1.RegClass\">"
},
//Test some fields
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"Z:Z_\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#Z:Z_\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"Z:Z_:D\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#Z:Z_:D\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"Z:Z:D_\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#Z:Z:D_\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"Z:Z:Dfield\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#Z:Z:Dfield\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"fieldInCla:D:D\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#fieldInCla:D:D\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"S_:D:D:D:D:DINT\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#S_:D:D:D:D:DINT\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"method:D:D\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#method:D:D\">"
},
- {BUG_ID + "/pkg1/DeprMemClass.html",
+ { "pkg1/DeprMemClass.html",
"<a name=\"Z:Z_field_In_Class\">"
},
- {BUG_ID + "/pkg1/DeprMemClass.html",
+ { "pkg1/DeprMemClass.html",
"<a href=\"../pkg1/DeprMemClass.html#Z:Z_field_In_Class\">"
},
//Test constructor
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"RegClass-java.lang.String-int-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#RegClass-java.lang.String-int-\">"
},
//Test some methods
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"Z:Z_methodInClass-java.lang.String-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#Z:Z_methodInClass-java.lang.String-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"method--\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#method--\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"foo-java.util.Map-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#foo-java.util.Map-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"methodInCla:Ds-java.lang.String:A-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#methodInCla:Ds-java.lang.String:A-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"Z:Z_methodInClas:D-java.lang.String-int-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#Z:Z_methodInClas:D-java.lang.String-int-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"methodD-pkg1.RegClass.:DA-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.:DA-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a name=\"methodD-pkg1.RegClass.D:A-\">"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
"<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.D:A-\">"
},
- {BUG_ID + "/pkg1/DeprMemClass.html",
+ { "pkg1/DeprMemClass.html",
"<a name=\"Z:Z:Dmethod_In_Class--\">"
},
- {BUG_ID + "/pkg1/DeprMemClass.html",
+ { "pkg1/DeprMemClass.html",
"<a href=\"../pkg1/DeprMemClass.html#Z:Z:Dmethod_In_Class--\">"
},
//Test enum
- {BUG_ID + "/pkg1/RegClass.Te$t_Enum.html",
+ { "pkg1/RegClass.Te$t_Enum.html",
"<a name=\"Z:Z:DFLD2\">"
},
- {BUG_ID + "/pkg1/RegClass.Te$t_Enum.html",
+ { "pkg1/RegClass.Te$t_Enum.html",
"<a href=\"../pkg1/RegClass.Te$t_Enum.html#Z:Z:DFLD2\">"
},
//Test nested class
- {BUG_ID + "/pkg1/RegClass._NestedClas$.html",
+ { "pkg1/RegClass._NestedClas$.html",
"<a name=\"Z:Z_NestedClas:D--\">"
},
- {BUG_ID + "/pkg1/RegClass._NestedClas$.html",
+ { "pkg1/RegClass._NestedClas$.html",
"<a href=\"../pkg1/RegClass._NestedClas$.html#Z:Z_NestedClas:D--\">"
},
//Test class use page
- {BUG_ID + "/pkg1/class-use/DeprMemClass.html",
+ { "pkg1/class-use/DeprMemClass.html",
"<a href=\"../../pkg1/RegClass.html#d____mc\">"
},
//Test deprecated list page
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<a href=\"pkg1/DeprMemClass.html#Z:Z_field_In_Class\">"
},
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<a href=\"pkg1/DeprMemClass.html#Z:Z:Dmethod_In_Class--\">"
},
//Test constant values page
- {BUG_ID + "/constant-values.html",
+ { "constant-values.html",
"<a href=\"pkg1/RegClass.html#S_:D:D:D:D:DINT\">"
},
//Test serialized form page
//This is the marker for the link that appears in the pkg1.RegClass.html page
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<a name=\"pkg1.RegClass\">"
},
//Test member name index page
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a name=\"I:Z:Z:D\">"
},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"#I:Z:Z:D\">$"
},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"#I:Z:Z_\">_"
}
};
@@ -246,22 +245,22 @@
private static final String[][] NEGATED_TEST = {
//The marker name conversion should only affect HTML anchors. It should not
//affect the lables.
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
" Z:Z_"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
" Z:Z:Dfield"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
" Z:Z_field_In_Class"
},
- {BUG_ID + "/pkg1/RegClass.html",
+ { "pkg1/RegClass.html",
" S_:D:D:D:D:DINT"
},
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-use", "pkg1"
};
/**
@@ -270,21 +269,7 @@
*/
public static void main(String[] args) throws Exception {
TestAnchorNames tester = new TestAnchorNames();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,44 +35,24 @@
public class TestAnnotationOptional extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "NO_BUG_ID_YET";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/AnnotationOptional.html",
+ { "pkg/AnnotationOptional.html",
"<a name=\"annotation.type.element.detail\">"
}
};
-
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestAnnotationOptional tester = new TestAnnotationOptional();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testAnnotationTypes/TestAnnotationTypes.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testAnnotationTypes/TestAnnotationTypes.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,47 +34,44 @@
public class TestAnnotationTypes extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4973609-8015249";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/AnnotationTypeField.html",
+ { "pkg/AnnotationTypeField.html",
"<li>Summary: </li>\n" +
"<li><a href=\"#annotation.type." +
"field.summary\">Field</a> | </li>"},
- {BUG_ID + "/pkg/AnnotationTypeField.html",
+ { "pkg/AnnotationTypeField.html",
"<li>Detail: </li>\n" +
"<li><a href=\"#annotation.type." +
"field.detail\">Field</a> | </li>"},
- {BUG_ID + "/pkg/AnnotationTypeField.html",
+ { "pkg/AnnotationTypeField.html",
"<!-- =========== ANNOTATION TYPE FIELD SUMMARY =========== -->"},
- {BUG_ID + "/pkg/AnnotationTypeField.html",
+ { "pkg/AnnotationTypeField.html",
"<h3>Field Summary</h3>"},
- {BUG_ID + "/pkg/AnnotationTypeField.html",
+ { "pkg/AnnotationTypeField.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../" +
"pkg/AnnotationTypeField.html#DEFAULT_NAME\">DEFAULT_NAME</a></span>" +
"</code> </td>"},
- {BUG_ID + "/pkg/AnnotationTypeField.html",
+ { "pkg/AnnotationTypeField.html",
"<!-- ============ ANNOTATION TYPE FIELD DETAIL =========== -->"},
- {BUG_ID + "/pkg/AnnotationTypeField.html",
+ { "pkg/AnnotationTypeField.html",
"<h4>DEFAULT_NAME</h4>\n" +
"<pre>public static final java." +
"lang.String DEFAULT_NAME</pre>"},
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<li>Summary: </li>\n" +
"<li>Field | </li>"},
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<li>Detail: </li>\n" +
"<li>Field | </li>"},
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<HR>\n\n" +
"<P>\n\n" +
"<P>" +
@@ -87,21 +84,7 @@
*/
public static void main(String[] args) {
TestAnnotationTypes tester = new TestAnnotationTypes();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testBackSlashInLink/TestBackSlashInLink.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testBackSlashInLink/TestBackSlashInLink.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,13 +35,11 @@
public class TestBackSlashInLink extends JavadocTester {
- private static final String BUG_ID = "4511110";
private static final String[][] TEST = {
- {BUG_ID + "/C.html", "src-html/C.html#line.7"}};
- private static final String[][] NEGATED_TEST = NO_TEST;
+ { "C.html", "src-html/C.html#line.7"}};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-linksource", SRC_DIR + "/C.java"};
/**
@@ -50,21 +48,7 @@
*/
public static void main(String[] args) {
TestBackSlashInLink tester = new TestBackSlashInLink();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testBadPackageFileInJar/TestBadPackageFileInJar.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testBadPackageFileInJar/TestBadPackageFileInJar.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,10 +35,6 @@
public class TestBadPackageFileInJar extends JavadocTester {
- protected static final String FS = System.getProperty("file.separator");
-
- private static final String BUG_ID = "4691095";
-
private static final String[][] TEST =
new String[][] {
{ERROR_OUTPUT,
@@ -47,7 +43,7 @@
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-classpath",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-classpath",
SRC_DIR + "/badPackageFileInJar.jar", "pkg"};
@@ -57,21 +53,7 @@
*/
public static void main(String[] args) {
TestBadPackageFileInJar tester = new TestBadPackageFileInJar();
- run(tester, ARGS, TEST, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testBadSourceFile/TestBadSourceFile.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testBadSourceFile/TestBadSourceFile.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,40 +35,19 @@
public class TestBadSourceFile extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4835749";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, SRC_DIR + "/C2.java"
+ "-Xdoclint:none", "-d", OUTPUT_DIR, SRC_DIR + "/C2.java"
};
- //Input for string search tests.
- private static final String[][] TEST = NO_TEST;
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestBadSourceFile tester = new TestBadSourceFile();
- int exitCode = run(tester, ARGS, TEST, NEGATED_TEST);
+ int exitCode = tester.run(ARGS, NO_TEST, NO_TEST);
tester.checkExitCode(0, exitCode);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testBaseClass/TestBaseClass.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testBaseClass/TestBaseClass.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,9 +35,6 @@
public class TestBaseClass extends JavadocTester {
- private static final String BUG_ID = "4197513";
- private static final String[][] TEST = NO_TEST;
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
"-sourcepath", SRC_DIR,
@@ -50,22 +47,8 @@
*/
public static void main(String[] args) {
TestBaseClass tester = new TestBaseClass();
- if (run(tester, ARGS, TEST, NEGATED_TEST) != 0) {
+ if (tester.run(ARGS, NO_TEST, NO_TEST) != 0) {
throw new Error("Javadoc failed to execute.");
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testBreakIterator/TestBreakIterator.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testBreakIterator/TestBreakIterator.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,14 +37,12 @@
public class TestBreakIterator extends JavadocTester {
- private static final String BUG_ID = "4165985";
private static final String[][] TEST = {
- {BUG_ID + "/pkg/BreakIteratorTest.html",
+ { "pkg/BreakIteratorTest.html",
"The class is empty (i.e. it has no members)."}};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-breakiterator", "pkg"};
/**
@@ -53,21 +51,7 @@
*/
public static void main(String[] args) {
TestBreakIterator tester = new TestBreakIterator();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testCRLineSeparator/TestCRLineSeparator.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testCRLineSeparator/TestCRLineSeparator.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,21 +37,17 @@
public class TestCRLineSeparator extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4979486-8014636";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", ".", "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", ".", "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/MyClass.html", "Line 1\n" +
+ { "pkg/MyClass.html", "Line 1\n" +
" Line 2"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -60,24 +56,10 @@
public static void main(String[] args) throws Exception {
initFiles(new File(SRC_DIR), new File("."), "pkg");
TestCRLineSeparator tester = new TestCRLineSeparator();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
-
// recursively copy files from fromDir to toDir, replacing newlines
// with \r
static void initFiles(File fromDir, File toDir, String f) throws IOException {
--- a/langtools/test/com/sun/javadoc/testCharset/TestCharset.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testCharset/TestCharset.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,25 +34,22 @@
public class TestCharset extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "7052170";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-charset", "UTF-8", "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-charset", "UTF-8", "-sourcepath", SRC_DIR, "pkg"
};
private static final String[][] TEST = {
- {BUG_ID + "/index.html",
+ { "index.html",
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">"},
- {BUG_ID + "/pkg/Foo.html",
+ { "pkg/Foo.html",
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">"}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/index.html",
+ { "index.html",
"<meta http-equiv=\"Content-Type\" content=\"text/html\" charset=\"UTF-8\">"},
- {BUG_ID + "/pkg/Foo.html",
+ { "pkg/Foo.html",
"<meta http-equiv=\"Content-Type\" content=\"text/html\" charset=\"UTF-8\">"}
};
@@ -62,21 +59,7 @@
*/
public static void main(String[] args) {
TestCharset tester = new TestCharset();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testClassCrossReferences/TestClassCrossReferences.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,29 +34,27 @@
public class TestClassCrossReferences extends JavadocTester {
- private static final String BUG_ID = "4652655-4857717";
private static final String[][] TEST = {
- {BUG_ID + "/C.html",
+ { "C.html",
"<a href=\"http://java.sun.com/j2se/1.4/docs/api/java/math/package-summary.html?is-external=true\"><code>Link to math package</code></a>"},
- {BUG_ID + "/C.html",
+ { "C.html",
"<a href=\"http://java.sun.com/j2se/1.4/docs/api/javax/swing/text/AbstractDocument.AttributeContext.html?is-external=true\" " +
"title=\"class or interface in javax.swing.text\"><code>Link to AttributeContext innerclass</code></a>"},
- {BUG_ID + "/C.html",
+ { "C.html",
"<a href=\"http://java.sun.com/j2se/1.4/docs/api/java/math/BigDecimal.html?is-external=true\" " +
"title=\"class or interface in java.math\"><code>Link to external class BigDecimal</code></a>"},
- {BUG_ID + "/C.html",
+ { "C.html",
"<a href=\"http://java.sun.com/j2se/1.4/docs/api/java/math/BigInteger.html?is-external=true#gcd-java.math.BigInteger-\" " +
"title=\"class or interface in java.math\"><code>Link to external member gcd</code></a>"},
- {BUG_ID + "/C.html",
+ { "C.html",
"<dl>\n" +
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code>toString</code> in class <code>java.lang.Object</code></dd>\n" +
"</dl>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-linkoffline", "http://java.sun.com/j2se/1.4/docs/api/",
SRC_DIR, SRC_DIR + "/C.java"};
@@ -66,21 +64,7 @@
*/
public static void main(String[] args) {
TestClassCrossReferences tester = new TestClassCrossReferences();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testClassTree/TestClassTree.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,22 +37,19 @@
public class TestClassTree extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4632553-4973607";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/package-tree.html",
+ { "pkg/package-tree.html",
"<ul>\n" +
"<li type=\"circle\">pkg.<a href=\"../pkg/ParentClass.html\" " +
"title=\"class in pkg\"><span class=\"typeNameLink\">ParentClass</span></a>"},
- {BUG_ID + "/pkg/package-tree.html",
+ { "pkg/package-tree.html",
"<h2 title=\"Annotation Type Hierarchy\">Annotation Type Hierarchy</h2>\n" +
"<ul>\n" +
"<li type=\"circle\">pkg.<a href=\"../pkg/AnnotationType.html\" " +
@@ -60,7 +57,7 @@
"(implements java.lang.annotation.Annotation)</li>\n" +
"</ul>"},
- {BUG_ID + "/pkg/package-tree.html",
+ { "pkg/package-tree.html",
"<h2 title=\"Enum Hierarchy\">Enum Hierarchy</h2>\n" +
"<ul>\n" +
"<li type=\"circle\">java.lang.Object\n" +
@@ -78,7 +75,7 @@
},
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/package-tree.html",
+ { "pkg/package-tree.html",
"<li type=\"circle\">class pkg.<a href=\"../pkg/ParentClass.html\" " +
"title=\"class in pkg\"><span class=\"typeNameLink\">ParentClass</span></a></li>"}
};
@@ -89,21 +86,7 @@
*/
public static void main(String[] args) {
TestClassTree tester = new TestClassTree();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testCmndLineClass/TestCmndLineClass.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testCmndLineClass/TestCmndLineClass.java Thu Apr 24 16:04:44 2014 -0700
@@ -38,8 +38,6 @@
private static final String OUTPUT_DIR1 = "4506980-tmp1";
private static final String OUTPUT_DIR2 = "4506980-tmp2";
- private static final String[][] TEST = NO_TEST;
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS1 =
new String[] {
"-d", OUTPUT_DIR1, "-sourcepath", SRC_DIR,
@@ -54,15 +52,14 @@
SRC_DIR + "/pkg2/C3.java",
SRC_DIR + "/pkg2/C4.java"
};
- private static final String[][] FILES_TO_DIFF = {
- {OUTPUT_DIR1 + "/C5.html", OUTPUT_DIR2 + "/C5.html"},
- {OUTPUT_DIR2 + "/pkg1/C1.html", OUTPUT_DIR2 + "/pkg1/C1.html"},
- {OUTPUT_DIR1 + "/pkg1/C2.html", OUTPUT_DIR2 + "/pkg1/C2.html"},
- {OUTPUT_DIR1 + "/pkg2/C3.html", OUTPUT_DIR2 + "/pkg2/C3.html"},
- {OUTPUT_DIR1 + "/pkg2/C4.html", OUTPUT_DIR2 + "/pkg2/C4.html"}
+ private static final String[] FILES_TO_DIFF = {
+ "C5.html",
+ "pkg1/C1.html",
+ "pkg1/C2.html",
+ "pkg2/C3.html",
+ "pkg2/C4.html"
};
- private static final String BUG_ID = "4506980";
/**
* The entry point of the test.
@@ -70,22 +67,8 @@
*/
public static void main(String[] args) {
TestCmndLineClass tester = new TestCmndLineClass();
- run(tester, ARGS1, TEST, NEGATED_TEST);
- run(tester, ARGS2, TEST, NEGATED_TEST);
- tester.runDiffs(FILES_TO_DIFF);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
+ tester.run(ARGS1, NO_TEST, NO_TEST);
+ tester.run(ARGS2, NO_TEST, NO_TEST);
+ tester.runDiffs(OUTPUT_DIR1, OUTPUT_DIR2, FILES_TO_DIFF);
}
}
--- a/langtools/test/com/sun/javadoc/testCompletionFailure/TestCompletionFailure.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testCompletionFailure/TestCompletionFailure.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,8 +33,6 @@
public class TestCompletionFailure extends JavadocTester {
- private static final String BUG_ID = "8027977";
-
//Input for string search tests.
private static final String[][] NEGATED_TEST = {
{ERROR_OUTPUT, "TestCompletionFailure: error - " +
@@ -44,7 +42,7 @@
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"
};
/**
@@ -53,21 +51,7 @@
*/
public static void main(String[] args) throws Exception {
TestCompletionFailure tester = new TestCompletionFailure();
- run(tester, ARGS, NO_TEST, NEGATED_TEST);
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testConstantValuesPage/TestConstantValuesPage.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testConstantValuesPage/TestConstantValuesPage.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,14 +35,12 @@
public class TestConstantValuesPage extends JavadocTester {
- private static final String BUG_ID = "4681599";
- private static final String[][] TEST = NO_TEST;
private static final String[][] NEGATED_TEST = {
{NOTICE_OUTPUT, "constant-values.html..."}
};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "foo"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "foo"};
/**
* The entry point of the test.
@@ -50,21 +48,7 @@
*/
public static void main(String[] args) {
TestConstantValuesPage tester = new TestConstantValuesPage();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testConstructorIndent/TestConstructorIndent.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,17 +35,14 @@
public class TestConstructorIndent extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4904037";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/C.html", "<div class=\"block\">" +
+ { "C.html", "<div class=\"block\">" +
"This is just a simple constructor.</div>\n" +
"<dl>\n" +
"<dt><span class=\"paramLabel\">Parameters:</span></dt>\n" +
@@ -53,7 +50,6 @@
"</dl>"
}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -61,21 +57,7 @@
*/
public static void main(String[] args) {
TestConstructorIndent tester = new TestConstructorIndent();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,11 +33,9 @@
public class TestConstructors extends JavadocTester {
- private static final String BUG_ID = "8025524";
-
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<dt><span class=\"seeLabel\">See Also:</span></dt>\n" +
"<dd><a href=\"../pkg1/Outer.Inner.html#Inner--\"><code>Inner()</code></a>, \n" +
"<a href=\"../pkg1/Outer.Inner.html#Inner-int-\"><code>Inner(int)</code></a>, \n" +
@@ -46,79 +44,79 @@
"<a href=\"../pkg1/Outer.html#Outer--\"><code>Outer()</code></a>, \n" +
"<a href=\"../pkg1/Outer.html#Outer-int-\"><code>Outer(int)</code></a>"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"Link: <a href=\"../pkg1/Outer.Inner.html#Inner--\"><code>Inner()</code></a>, " +
"<a href=\"../pkg1/Outer.html#Outer-int-\"><code>Outer(int)</code></a>, " +
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>" +
"NestedInner(int)</code></a>"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a href=\"../pkg1/Outer.html#Outer--\">Outer</a></span>()"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a name=\"Outer--\">"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a href=\"../pkg1/Outer.html#Outer-int-\">Outer</a></span>(int i)"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a name=\"Outer-int-\">"
},
- {BUG_ID + "/pkg1/Outer.Inner.html",
+ { "pkg1/Outer.Inner.html",
"<a href=\"../pkg1/Outer.Inner.html#Inner--\">Inner</a></span>()"
},
- {BUG_ID + "/pkg1/Outer.Inner.html",
+ { "pkg1/Outer.Inner.html",
"<a name=\"Inner--\">"
},
- {BUG_ID + "/pkg1/Outer.Inner.html",
+ { "pkg1/Outer.Inner.html",
"<a href=\"../pkg1/Outer.Inner.html#Inner-int-\">Inner</a></span>(int i)"
},
- {BUG_ID + "/pkg1/Outer.Inner.html",
+ { "pkg1/Outer.Inner.html",
"<a name=\"Inner-int-\">"
},
- {BUG_ID + "/pkg1/Outer.Inner.NestedInner.html",
+ { "pkg1/Outer.Inner.NestedInner.html",
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner--\">NestedInner</a></span>()"
},
- {BUG_ID + "/pkg1/Outer.Inner.NestedInner.html",
+ { "pkg1/Outer.Inner.NestedInner.html",
"<a name=\"NestedInner--\">"
},
- {BUG_ID + "/pkg1/Outer.Inner.NestedInner.html",
+ { "pkg1/Outer.Inner.NestedInner.html",
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\">NestedInner</a></span>(int i)"
},
- {BUG_ID + "/pkg1/Outer.Inner.NestedInner.html",
+ { "pkg1/Outer.Inner.NestedInner.html",
"<a name=\"NestedInner-int-\">"
}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg1/Outer.Inner.html",
+ { "pkg1/Outer.Inner.html",
"Outer.Inner--"
},
- {BUG_ID + "/pkg1/Outer.Inner.html",
+ { "pkg1/Outer.Inner.html",
"Outer.Inner-int-"
},
- {BUG_ID + "/pkg1/Outer.Inner.NestedInner.html",
+ { "pkg1/Outer.Inner.NestedInner.html",
"Outer.Inner.NestedInner--"
},
- {BUG_ID + "/pkg1/Outer.Inner.NestedInner.html",
+ { "pkg1/Outer.Inner.NestedInner.html",
"Outer.Inner.NestedInner-int-"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a href=\"../pkg1/Outer.Inner.html#Outer.Inner--\"><code>Outer.Inner()</code></a>"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a href=\"../pkg1/Outer.Inner.html#Outer.Inner-int-\"><code>Outer.Inner(int)</code></a>"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#Outer.Inner.NestedInner--\"><code>Outer.Inner.NestedInner()</code></a>"
},
- {BUG_ID + "/pkg1/Outer.html",
+ { "pkg1/Outer.html",
"<a href=\"../pkg1/Outer.Inner.NestedInner.html#Outer.Inner.NestedInner-int-\"><code>Outer.Inner.NestedInner(int)</code></a>"
}
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"
};
/**
@@ -127,21 +125,7 @@
*/
public static void main(String[] args) throws Exception {
TestConstructors tester = new TestConstructors();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testCustomTag/TestCustomTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testCustomTag/TestCustomTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,28 +33,25 @@
public class TestCustomTag extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8006248";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-tagletpath", SRC_DIR,
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-tagletpath", SRC_DIR,
"-taglet", "taglets.CustomTag", "-sourcepath",
SRC_DIR, SRC_DIR + "/TagTestClass.java"
};
private static final String[] ARGS1 = new String[] {
- "-d", BUG_ID + "-1", "-tagletpath",
+ "-d", OUTPUT_DIR + "-1", "-tagletpath",
SRC_DIR, "-taglet", "taglets.CustomTag",
"-sourcepath", SRC_DIR, SRC_DIR + "/TagTestClass.java"
};
private static final String[] ARGS2 = new String[] {
- "-Xdoclint:none", "-d", BUG_ID + "-2", "-sourcepath",
+ "-Xdoclint:none", "-d", OUTPUT_DIR + "-2", "-sourcepath",
SRC_DIR, SRC_DIR + "/TagTestClass.java"
};
private static final String[] ARGS3 = new String[] {
- "-d", BUG_ID + "-3", "-sourcepath",
+ "-d", OUTPUT_DIR + "-3", "-sourcepath",
SRC_DIR, SRC_DIR + "/TagTestClass.java"
};
@@ -88,24 +85,10 @@
*/
public static void main(String[] args) {
TestCustomTag tester = new TestCustomTag();
- run(tester, ARGS, TEST, NO_TEST);
- run(tester, ARGS1, TEST1, NO_TEST);
- run(tester, ARGS2, TEST2, NO_TEST);
- run(tester, ARGS3, TEST3, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
+ tester.run(ARGS1, TEST1, NO_TEST);
+ tester.run(ARGS2, TEST2, NO_TEST);
+ tester.run(ARGS3, TEST3, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDeprecatedDocs/TestDeprecatedDocs.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,19 +33,16 @@
public class TestDeprecatedDocs extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4927552";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
private static final String TARGET_FILE =
- BUG_ID + "/deprecated-list.html";
+ "deprecated-list.html";
private static final String TARGET_FILE2 =
- BUG_ID + "/pkg/DeprecatedClassByAnnotation.html";
+ "pkg/DeprecatedClassByAnnotation.html";
//Input for string search tests.
private static final String[][] TEST = {
@@ -92,29 +89,13 @@
"<div class=\"block\"><span class=\"deprecatedLabel\">Deprecated.</span> </div>"},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestDeprecatedDocs tester = new TestDeprecatedDocs();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDocEncoding/TestDocEncoding.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDocEncoding/TestDocEncoding.java Thu Apr 24 16:04:44 2014 -0700
@@ -38,19 +38,17 @@
public class TestDocEncoding extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8000743";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-docencoding", "Cp930",
- "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR,
+ "-docencoding", "Cp930",
+ "-sourcepath", SRC_DIR,
+ "-notimestamp",
+ "pkg"
};
- private static final String[][] TEST = NO_TEST;
-
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"body {\n" +
" background-color:#ffffff;"}
};
@@ -61,22 +59,8 @@
*/
public static void main(String[] args) {
TestDocEncoding tester = new TestDocEncoding();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDocErrorReporter/TestDocErrorReporter.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDocErrorReporter/TestDocErrorReporter.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,19 +35,12 @@
public class TestDocErrorReporter extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4927928";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-encoding", "xyz",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-encoding", "xyz",
SRC_DIR + "/TestDocErrorReporter.java"
};
- //Input for string search tests.
- private static final String[][] TEST = NO_TEST;
- private static final String[][] NEGATED_TEST = NO_TEST;
-
//Input for Javadoc return code test.
private static final int EXPECTED_EXIT_CODE = 1;
@@ -57,22 +50,8 @@
*/
public static void main(String[] args) {
TestDocErrorReporter tester = new TestDocErrorReporter();
- int actualExitCode = run(tester, ARGS, TEST, NEGATED_TEST);
+ int actualExitCode = tester.run(ARGS, NO_TEST, NO_TEST);
tester.checkExitCode(EXPECTED_EXIT_CODE, actualExitCode);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDocFileDir/TestDocFileDir.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDocFileDir/TestDocFileDir.java Thu Apr 24 16:04:44 2014 -0700
@@ -39,45 +39,37 @@
public class TestDocFileDir extends JavadocTester {
- private static final String BUG_ID = "4258405-4973606";
-
private static final String[][] TEST1 = {
- {BUG_ID + "-1/pkg/doc-files/testfile.txt",
+ { "pkg/doc-files/testfile.txt",
"This doc file did not get trashed."}
};
- private static final String[][] NEGATED_TEST1 = NO_TEST;
private static final String[] FILE_TEST2 = {
- BUG_ID + "-2/pkg/doc-files/subdir-used1" +
- "/testfile.txt",
- BUG_ID + "-2/pkg/doc-files/subdir-used2" +
- "/testfile.txt"
+ "pkg/doc-files/subdir-used1/testfile.txt",
+ "pkg/doc-files/subdir-used2/testfile.txt"
};
private static final String[] FILE_NEGATED_TEST2 = {
- BUG_ID + "-2/pkg/doc-files/subdir-excluded1" +
- "/testfile.txt",
- BUG_ID + "-2/pkg/doc-files/subdir-excluded2" +
- "/testfile.txt"
+ "pkg/doc-files/subdir-excluded1/testfile.txt",
+ "pkg/doc-files/subdir-excluded2/testfile.txt"
};
private static final String[][] TEST0 = {
{"pkg/doc-files/testfile.txt",
"This doc file did not get trashed."}
};
- private static final String[][] NEGATED_TEST0 = {};
//Output dir = Input Dir
private static final String[] ARGS1 =
new String[] {
- "-d", BUG_ID + "-1",
+ "-d", OUTPUT_DIR + "-1",
"-sourcepath",
- "blah" + File.pathSeparator + BUG_ID + "-1" +
+ "blah" + File.pathSeparator + OUTPUT_DIR + "-1" +
File.pathSeparator + "blah", "pkg"};
//Exercising -docfilessubdirs and -excludedocfilessubdir
private static final String[] ARGS2 =
new String[] {
- "-d", BUG_ID + "-2",
+ "-d", OUTPUT_DIR + "-2",
"-sourcepath", SRC_DIR,
"-docfilessubdirs",
"-excludedocfilessubdir", "subdir-excluded1:subdir-excluded2",
@@ -95,24 +87,10 @@
public static void main(String[] args) {
TestDocFileDir tester = new TestDocFileDir();
copyDir(SRC_DIR + "/pkg", ".");
- run(tester, ARGS0, TEST0, NEGATED_TEST0);
- copyDir(SRC_DIR + "/pkg", BUG_ID + "-1");
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, NO_TEST, NO_TEST, FILE_TEST2, FILE_NEGATED_TEST2);
+ tester.run(ARGS0, TEST0, NO_TEST);
+ copyDir(SRC_DIR + "/pkg", OUTPUT_DIR + "-1");
+ tester.run(ARGS1, TEST1, NO_TEST);
+ tester.run(ARGS2, NO_TEST, NO_TEST, FILE_TEST2, FILE_NEGATED_TEST2);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDocFiles/TestDocFiles.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDocFiles/TestDocFiles.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,9 +33,8 @@
public class TestDocFiles extends JavadocTester {
- private static final String BUG_ID = "8008949";
private static final String[][] TEST = {
- {"tmp/pkg/doc-files/test.txt", "test file"}};
+ { "pkg/doc-files/test.txt", "test file"}};
private static final String[] ARGS =
new String[] {
@@ -47,21 +46,7 @@
*/
public static void main(String[] args) {
TestDocFiles tester = new TestDocFiles();
- run(tester, ARGS, TEST, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDocRootInlineTag/TestDocRootInlineTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDocRootInlineTag/TestDocRootInlineTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,25 +36,23 @@
public class TestDocRootInlineTag extends JavadocTester {
- private static final String BUG_ID = "4369014-4851991";
private static final String[][] TEST = {
- {BUG_ID + "/TestDocRootTag.html",
+ { "TestDocRootTag.html",
"<a href=\"http://www.java.sun.com/j2se/1.4/docs/api/java/io/File.html?is-external=true\" " +
"title=\"class or interface in java.io\"><code>File</code></a>"},
- {BUG_ID + "/TestDocRootTag.html",
+ { "TestDocRootTag.html",
"<a href=\"./glossary.html\">glossary</a>"},
- {BUG_ID + "/TestDocRootTag.html",
+ { "TestDocRootTag.html",
"<a href=\"http://www.java.sun.com/j2se/1.4/docs/api/java/io/File.html?is-external=true\" " +
"title=\"class or interface in java.io\"><code>Second File Link</code></a>"},
- {BUG_ID + "/TestDocRootTag.html", "The value of @docRoot is \"./\""},
- {BUG_ID + "/index-all.html", "My package page is " +
+ { "TestDocRootTag.html", "The value of @docRoot is \"./\""},
+ { "index-all.html", "My package page is " +
"<a href=\"./pkg/package-summary.html\">here</a>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
"-bottom", "The value of @docRoot is \"{@docRoot}\"",
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-linkoffline", "http://www.java.sun.com/j2se/1.4/docs/api",
SRC_DIR, SRC_DIR + "/TestDocRootTag.java", "pkg"
};
@@ -65,21 +63,7 @@
*/
public static void main(String[] args) {
TestDocRootInlineTag tester = new TestDocRootInlineTag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDocRootLink/TestDocRootLink.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,92 +32,91 @@
*/
public class TestDocRootLink extends JavadocTester {
- private static final String BUG_ID = "6553182";
private static final String[][] TEST1 = {
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"Refer <a href=\"../../technotes/guides/index.html\">Here</a>"
},
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"This <a href=\"../pkg2/C2.html\">Here</a> should not be replaced\n" +
" with an absolute link."
},
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"Testing <a href=\"../technotes/guides/index.html\">Link 1</a> and\n" +
" <a href=\"../pkg2/C2.html\">Link 2</a>."
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<a href=\"../../technotes/guides/index.html\">\n" +
" Test document 1</a>"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<a href=\"../pkg2/C2.html\">\n" +
" Another Test document 1</a>"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<a href=\"../technotes/guides/index.html\">\n" +
" Another Test document 2.</a>"
}
};
private static final String[][] NEGATED_TEST1 = {
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">"
},
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<a href=\"http://download.oracle.com/javase/7/docs/pkg2/C2.html\">"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<a href=\"http://download.oracle.com/javase/7/docs/pkg2/C2.html\">"
}
};
private static final String[][] TEST2 = {
- {BUG_ID + "-1/pkg2/C2.html",
+ { "pkg2/C2.html",
"Refer <a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">Here</a>"
},
- {BUG_ID + "-1/pkg2/C2.html",
+ { "pkg2/C2.html",
"This <a href=\"../pkg1/C1.html\">Here</a> should not be replaced\n" +
" with an absolute link."
},
- {BUG_ID + "-1/pkg2/C2.html",
+ { "pkg2/C2.html",
"Testing <a href=\"../technotes/guides/index.html\">Link 1</a> and\n" +
" <a href=\"../pkg1/C1.html\">Link 2</a>."
},
- {BUG_ID + "-1/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<a href=\"http://download.oracle.com/javase/7/docs/technotes/guides/index.html\">\n" +
" Test document 1</a>"
},
- {BUG_ID + "-1/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<a href=\"../pkg1/C1.html\">\n" +
" Another Test document 1</a>"
},
- {BUG_ID + "-1/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<a href=\"../technotes/guides/index.html\">\n" +
" Another Test document 2.</a>"
}
};
private static final String[][] NEGATED_TEST2 = {
- {BUG_ID + "-1/pkg2/C2.html",
+ { "pkg2/C2.html",
"<a href=\"../../technotes/guides/index.html\">"
},
- {BUG_ID + "-1/pkg2/C2.html",
+ { "pkg2/C2.html",
"<a href=\"http://download.oracle.com/javase/7/docs/pkg1/C1.html\">"
},
- {BUG_ID + "-1/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<a href=\"../../technotes/guides/index.html\">"
},
- {BUG_ID + "-1/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<a href=\"http://download.oracle.com/javase/7/docs/pkg1/C1.html\">"
}
};
private static final String[] ARGS1 =
new String[]{
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1", "pkg2"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1", "pkg2"
};
private static final String[] ARGS2 =
new String[]{
- "-d", BUG_ID + "-1", "-Xdocrootparent",
+ "-d", OUTPUT_DIR + "-1", "-Xdocrootparent",
"http://download.oracle.com/javase/7/docs", "-sourcepath",
SRC_DIR, "pkg1", "pkg2"
};
@@ -128,22 +127,8 @@
*/
public static void main(String[] args) {
TestDocRootLink tester = new TestDocRootLink();
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS1, TEST1, NEGATED_TEST1);
+ tester.run(ARGS2, TEST2, NEGATED_TEST2);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testDupParamWarn/TestDupParamWarn.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testDupParamWarn/TestDupParamWarn.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,9 +35,8 @@
public class TestDupParamWarn extends JavadocTester {
- private static final String BUG_ID = "4745855";
private static final String[] ARGS =
- new String[] {"-d", BUG_ID, "-sourcepath",
+ new String[] {"-d", OUTPUT_DIR, "-sourcepath",
SRC_DIR + "/", "pkg"};
private static final String[][] NEGATED_TEST =
new String[][] {{WARNING_OUTPUT,
@@ -48,20 +47,8 @@
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
- run(new TestDupParamWarn(), ARGS, NO_TEST, NEGATED_TEST);
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
+ JavadocTester tester = new TestDupParamWarn();
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
+ tester.printSummary();
}
}
--- a/langtools/test/com/sun/javadoc/testEmptyClass/TestEmptyClass.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testEmptyClass/TestEmptyClass.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,15 +35,13 @@
public class TestEmptyClass extends JavadocTester {
- private static final String OUTPUT_DIR = "tmp";
- private static final String[][] TEST = NO_TEST;
private static final String[][] NEGATED_TEST = {
//The overview tree should not link to classes that were not documented
- {OUTPUT_DIR + "/overview-tree.html", "<A HREF=\"TestEmptyClass.html\">"},
+ { "overview-tree.html", "<A HREF=\"TestEmptyClass.html\">"},
//The index page should not link to classes that were not documented
- {OUTPUT_DIR + "/index-all.html", "<A HREF=\"TestEmptyClass.html\">"},
+ { "index-all.html", "<A HREF=\"TestEmptyClass.html\">"},
};
private static final String[] ARGS =
new String[] {
@@ -51,8 +49,6 @@
"-d", OUTPUT_DIR, "-sourcepath", SRC_DIR + "/src",
SRC_DIR + "/src/Empty.java"
};
- private static final String BUG_ID =
- "4483401 4483407 4483409 4483413 4494343";
/**
* The entry point of the test.
@@ -60,24 +56,10 @@
*/
public static void main(String[] args) {
TestEmptyClass tester = new TestEmptyClass();
- int exitCode = run(tester, ARGS, TEST, NEGATED_TEST);
+ int exitCode = tester.run(ARGS, NO_TEST, NEGATED_TEST);
tester.printSummary();
if (exitCode != 0) {
throw new Error("Error found while executing Javadoc");
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testEnclosingClass/TestEnclosingClass.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testEnclosingClass/TestEnclosingClass.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,19 +34,15 @@
public class TestEnclosingClass extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "5008230";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/MyClass.MyInterface.html", "Enclosing class:"}
+ { "pkg/MyClass.MyInterface.html", "Enclosing class:"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -54,21 +50,7 @@
*/
public static void main(String[] args) {
TestEnclosingClass tester = new TestEnclosingClass();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testEncoding/TestEncoding.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testEncoding/TestEncoding.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,16 +35,14 @@
public class TestEncoding extends JavadocTester {
- private static final String BUG_ID = "4661481";
- private static final String[][] TEST = NO_TEST;
//If ??? is found in the output, the source file was not read with the correct encoding setting.
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/EncodeTest.html", "??"}
+ { "EncodeTest.html", "??"}
};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-encoding", "iso-8859-1", SRC_DIR + "/EncodeTest.java"
};
@@ -54,21 +52,7 @@
*/
public static void main(String[] args) {
TestEncoding tester = new TestEncoding();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testExternalOverridenMethod/TestExternalOverridenMethod.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,28 +35,23 @@
public class TestExternalOverridenMethod extends JavadocTester {
- private static final String BUG_ID = "4857717";
private static final String[][] TEST = {
- {BUG_ID + "/pkg/XReader.html",
+ { "pkg/XReader.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true#read--\" " +
"title=\"class or interface in java.io\">read</a></code> in class <code>" +
"<a href=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/FilterReader.html?is-external=true\" " +
"title=\"class or interface in java.io\">FilterReader</a></code></dd>"},
- {BUG_ID + "/pkg/XReader.html",
+ { "pkg/XReader.html",
"<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n" +
"<dd><code><a href=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true#readInt--\" " +
"title=\"class or interface in java.io\">readInt</a></code> in interface <code>" +
"<a href=\"http://java.sun.com/j2se/1.4.1/docs/api/java/io/DataInput.html?is-external=true\" " +
"title=\"class or interface in java.io\">DataInput</a></code></dd>"}};
-
-
- private static final String[][] NEGATED_TEST = NO_TEST;
-
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-linkoffline", "http://java.sun.com/j2se/1.4.1/docs/api", SRC_DIR,
"pkg"
};
@@ -67,21 +62,7 @@
*/
public static void main(String[] args) {
TestExternalOverridenMethod tester = new TestExternalOverridenMethod();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testGeneratedBy/TestGeneratedBy.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testGeneratedBy/TestGeneratedBy.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,8 +32,6 @@
public class TestGeneratedBy extends JavadocTester {
- private static final String OUTPUT_DIR = "tmp";
-
private static final String[] FILES = {
"pkg/MyClass.html",
"pkg/package-summary.html",
@@ -65,7 +63,6 @@
"pkg"
};
- private static final String BUG_ID = "8000418-8024288";
private static String[][] getTests(boolean timestamp) {
String version = System.getProperty("java.version");
@@ -74,7 +71,7 @@
String genBy = "Generated by javadoc";
if (timestamp) genBy += " (" + version + ") on ";
tests[i] = new String[] {
- OUTPUT_DIR + "/" + FILES[i], genBy
+ FILES[i], genBy
};
}
return tests;
@@ -84,7 +81,7 @@
String[][] tests = new String[FILES.length][];
for (int i = 0; i < FILES.length; i++) {
tests[i] = new String[] {
- OUTPUT_DIR + "/" + FILES[i],
+ FILES[i],
(timestamp
? "Generated by javadoc (version"
: "Generated by javadoc ("),
@@ -100,26 +97,12 @@
*/
public static void main(String[] args) {
TestGeneratedBy tester = new TestGeneratedBy();
- int ec1 = run(tester, STD_ARGS, getTests(true), getNegatedTests(true));
- int ec2 = run(tester, NO_TIMESTAMP_ARGS, getTests(false), getNegatedTests(false));
+ int ec1 = tester.run(STD_ARGS, getTests(true), getNegatedTests(true));
+ int ec2 = tester.run(NO_TIMESTAMP_ARGS, getTests(false), getNegatedTests(false));
tester.printSummary();
if (ec1 != 0 || ec2 != 0) {
throw new Error("Error found while executing Javadoc");
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testGroupOption/TestGroupOption.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testGroupOption/TestGroupOption.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,12 +35,9 @@
public class TestGroupOption extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4924383";
-
//Javadoc arguments.
private static final String[] ARGS1 = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-group", "Package One", "pkg1",
"-group", "Package Two", "pkg2",
"-group", "Package Three", "pkg3",
@@ -48,7 +45,7 @@
};
private static final String[] ARGS2 = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-group", "Package One", "pkg1",
"-group", "Package One", "pkg2",
"-group", "Package One", "pkg3",
@@ -56,11 +53,9 @@
};
//Input for string search tests.
- private static final String[][] TEST1 = NO_TEST;
private static final String[][] NEGATED_TEST1 = {{WARNING_OUTPUT, "-group"}};
private static final String[][] TEST2 = {{WARNING_OUTPUT, "-group"}};
- private static final String[][] NEGATED_TEST2 = NO_TEST;
/**
* The entry point of the test.
@@ -69,26 +64,12 @@
public static void main(String[] args) {
//Make sure the warning is not printed when -group is used correctly.
TestGroupOption tester = new TestGroupOption();
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
+ tester.run(ARGS1, NO_TEST, NEGATED_TEST1);
tester.printSummary();
//Make sure the warning is printed when -group is not used correctly.
tester = new TestGroupOption();
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS2, TEST2, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHeadings/TestHeadings.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHeadings/TestHeadings.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,19 +34,16 @@
public class TestHeadings extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4905786-6259611";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "-header", "Test Files",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-use", "-header", "Test Files",
"pkg1", "pkg2"
};
//Input for string search tests.
private static final String[][] TEST = {
//Package summary
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Class</th>\n" +
"<th class=\"colLast\" scope=\"col\"" +
@@ -54,31 +51,31 @@
},
// Class documentation
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Field and Description</th>"
},
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<h3>Methods inherited from class java.lang.Object</h3>"
},
// Class use documentation
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<th class=\"colFirst\" scope=\"col\">Package</th>\n" +
"<th class=\"colLast\" scope=\"col\">Description</th>"
},
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Field and Description</th>"
},
// Deprecated
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<th class=\"colOne\" scope=\"col\">Method and Description</th>"
},
// Constant values
- {BUG_ID + "/constant-values.html",
+ { "constant-values.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Modifier and Type</th>\n" +
"<th scope=\"col\">Constant Field</th>\n" +
@@ -86,32 +83,30 @@
},
// Serialized Form
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h2 title=\"Package\">Package pkg1</h2>"
},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/C1.html\" title=\"class in pkg1\">" +
"pkg1.C1</a> extends java.lang.Object implements Serializable</h3>"
},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Serialized Fields</h3>"
},
// Overview Frame
- {BUG_ID + "/overview-frame.html",
+ { "overview-frame.html",
"<h1 title=\"Test Files\" class=\"bar\">Test Files</h1>"
},
- {BUG_ID + "/overview-frame.html",
+ { "overview-frame.html",
"<title>Overview List</title>"
},
// Overview Summary
- {BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<title>Overview</title>"
- },
-
+ }
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -119,21 +114,7 @@
*/
public static void main(String[] args) {
TestHeadings tester = new TestHeadings();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHelpFile/TestHelpFile.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHelpFile/TestHelpFile.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,19 +33,14 @@
public class TestHelpFile extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "7132631";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
SRC_DIR + "/TestHelpFile.java"
};
- private static final String[][] NEGATED_TEST = NO_TEST;
-
private static final String[][] TEST = {
- {BUG_ID + "/help-doc.html",
+ { "help-doc.html",
"<a href=\"constant-values.html\">Constant Field Values</a>"
},
};
@@ -56,21 +51,7 @@
*/
public static void main(String[] args) {
TestHelpFile tester = new TestHelpFile();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHelpOption/TestHelpOption.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHelpOption/TestHelpOption.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,17 +34,14 @@
public class TestHelpOption extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4934778-4777599-6553182";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-help",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-help",
SRC_DIR + "/TestHelpOption.java"
};
private static final String[] ARGS2 = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
SRC_DIR + "/TestHelpOption.java"
};
@@ -86,14 +83,12 @@
{STANDARD_OUTPUT, "-stylesheetfile "},
{STANDARD_OUTPUT, "-docencoding "},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[][] TEST2 = {
- {BUG_ID + "/TestHelpOption.html",
+ { "TestHelpOption.html",
"<li><a href=\"help-doc.html\">Help</a></li>"
},
};
- private static final String[][] NEGATED_TEST2 = NO_TEST;
//The help option should not crash the doclet.
private static final int EXPECTED_EXIT_CODE = 0;
@@ -104,23 +99,9 @@
*/
public static void main(String[] args) {
TestHelpOption tester = new TestHelpOption();
- int actualExitCode = run(tester, ARGS, TEST, NEGATED_TEST);
+ int actualExitCode = tester.run(ARGS, TEST, NO_TEST);
tester.checkExitCode(EXPECTED_EXIT_CODE, actualExitCode);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS2, TEST2, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHiddenMembers/TestHiddenMembers.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHiddenMembers/TestHiddenMembers.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,18 +35,16 @@
public class TestHiddenMembers extends JavadocTester {
- private static final String BUG_ID = "4492178";
- private static final String[][] TEST = NO_TEST;
//We should not inherit any members from BaseClass because they are all overriden and hidden
//(declared as private).
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"inherited from class pkg.<A HREF=\"../pkg/BaseClass.html\">BaseClass</A>"}
};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"pkg"
};
@@ -56,21 +54,7 @@
*/
public static void main(String[] args) {
TestHiddenMembers tester = new TestHiddenMembers();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHref/TestHref.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHref/TestHref.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,54 +33,51 @@
public class TestHref extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4663254";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-linkoffline",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-linkoffline",
"http://java.sun.com/j2se/1.4/docs/api/", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
//External link.
- {BUG_ID + "/pkg/C1.html",
+ { "pkg/C1.html",
"href=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true#wait-long-int-\""
},
//Member summary table link.
- {BUG_ID + "/pkg/C1.html",
+ { "pkg/C1.html",
"href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\""
},
//Anchor test.
- {BUG_ID + "/pkg/C1.html",
+ { "pkg/C1.html",
"<a name=\"method-int-int-java.util.ArrayList-\">\n" +
"<!-- -->\n" +
"</a>"
},
//Backward compatibility anchor test.
- {BUG_ID + "/pkg/C1.html",
+ { "pkg/C1.html",
"<a name=\"method-int-int-java.util.ArrayList-\">\n" +
"<!-- -->\n" +
"</a>"
},
//{@link} test.
- {BUG_ID + "/pkg/C2.html",
+ { "pkg/C2.html",
"Link: <a href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\">"
},
//@see test.
- {BUG_ID + "/pkg/C2.html",
+ { "pkg/C2.html",
"See Also:</span></dt>\n" +
"<dd><a href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\">"
},
//Header does not link to the page itself.
- {BUG_ID + "/pkg/C4.html",
+ { "pkg/C4.html",
"Class C4<E extends C4<E>></h2>"
},
//Signature does not link to the page itself.
- {BUG_ID + "/pkg/C4.html",
+ { "pkg/C4.html",
"public abstract class <span class=\"typeNameLabel\">C4<E extends C4<E>></span>"
},
};
@@ -95,21 +92,7 @@
*/
public static void main(String[] args) {
TestHref tester = new TestHref();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHrefInDocComment/TestHrefInDocComment.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHrefInDocComment/TestHrefInDocComment.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,12 +35,9 @@
public class TestHrefInDocComment extends JavadocTester {
- private static final String BUG_ID = "4638015";
- private static final String[][] TEST = NO_TEST;
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"};
/**
* The entry point of the test.
@@ -48,23 +45,8 @@
*/
public static void main(String[] args) {
TestHrefInDocComment tester = new TestHrefInDocComment();
- if (run(tester, ARGS, TEST, NEGATED_TEST) != 0) {
+ if (tester.run(ARGS, NO_TEST, NO_TEST) != 0) {
throw new Error("Javadoc failed to execute properly with given source.");
}
-
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
}
}
--- a/langtools/test/com/sun/javadoc/testHtmlComments/TestHtmlComments.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlComments/TestHtmlComments.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,18 +35,14 @@
public class TestHtmlComments extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4904038";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
};
//Input for string search tests.
- private static final String[][] TEST = NO_TEST;
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/C.html",
+ { "C.html",
"<!-- ============ FIELD DETAIL =========== -->"}
};
@@ -56,21 +52,7 @@
*/
public static void main(String[] args) {
TestHtmlComments tester = new TestHtmlComments();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,18 +35,16 @@
public class TestHtmlDefinitionListTag extends JavadocTester {
- private static final String BUG_ID = "6786690-6820360";
-
// Test common to all runs of javadoc. The class signature should print
// properly enclosed definition list tags and the Annotation Type
// Optional Element should print properly nested definition list tags
// for default value.
private static final String[][] TEST_ALL = {
- {BUG_ID + "/pkg1/C1.html", "<pre>public class " +
+ { "pkg1/C1.html", "<pre>public class " +
"<span class=\"typeNameLabel\">C1</span>\n" +
"extends java.lang.Object\n" +
"implements java.io.Serializable</pre>"},
- {BUG_ID + "/pkg1/C4.html", "<dl>\n" +
+ { "pkg1/C4.html", "<dl>\n" +
"<dt>Default:</dt>\n" +
"<dd>true</dd>\n" +
"</dl>"}};
@@ -55,11 +53,11 @@
// serialized form should have properly nested definition list tags
// enclosing comments, tags and deprecated information.
private static final String[][] TEST_CMNT_DEPR = {
- {BUG_ID + "/pkg1/package-summary.html", "<dl>\n" +
+ { "pkg1/package-summary.html", "<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" +
"<dd>JDK1.0</dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" +
"<dd>JDK1.0</dd>\n" +
"<dt><span class=\"seeLabel\">See Also:</span></dt>\n" +
@@ -68,7 +66,7 @@
"<a href=\"../serialized-form.html#pkg1.C1\">" +
"Serialized Form</a></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" +
"<dd>1.4</dd>\n" +
"<dt><span class=\"seeLabel\">See Also:</span></dt>\n" +
@@ -76,7 +74,7 @@
"<a href=\"../pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"paramLabel\">Parameters:</span></dt>\n" +
"<dd><code>title" +
"</code> - the title</dd>\n" +
@@ -89,7 +87,7 @@
"device</dd>\n" +
"<dd><code>HeadlessException</code></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"paramLabel\">Parameters:</span></dt>\n" +
"<dd><code>undecorated" +
"</code> - <code>true</code> if no decorations are\n" +
@@ -104,7 +102,7 @@
"<a href=\"../pkg1/C1.html#readObject--\"><code>readObject()" +
"</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"throwsLabel\">Throws:</span></dt>\n" +
"<dd><code>java.io.IOException</code></dd>\n" +
"<dt><span class=\"seeLabel\">See Also:" +
@@ -112,7 +110,7 @@
"<dd><a href=\"../pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C2.html", "<dl>\n" +
+ { "pkg1/C2.html", "<dl>\n" +
"<dt><span class=\"paramLabel\">Parameters:" +
"</span></dt>\n" +
"<dd><code>set</code> - boolean</dd>\n" +
@@ -120,7 +118,7 @@
"Since:</span></dt>\n" +
"<dd>1.4</dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html", "<dl>\n" +
+ { "serialized-form.html", "<dl>\n" +
"<dt><span class=\"throwsLabel\">Throws:</span>" +
"</dt>\n" +
"<dd><code>" +
@@ -130,7 +128,7 @@
"<dd><a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>C1.setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" <span class=\"deprecationComment\">As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
@@ -146,7 +144,7 @@
"<dd><a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>C1.setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" <span class=\"deprecationComment\">As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
@@ -159,7 +157,7 @@
"IOException</code></code></dd>\n" +
"<dd><code>java.io.IOException</code></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" </div>\n" +
"<div class=\"block\">The name for this class.</div>"}};
@@ -170,11 +168,11 @@
// should display properly nested definition list tags for comments, tags
// and deprecated information.
private static final String[][] TEST_NODEPR = {
- {BUG_ID + "/pkg1/package-summary.html", "<dl>\n" +
+ { "pkg1/package-summary.html", "<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" +
"<dd>JDK1.0</dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Since:</span>" +
"</dt>\n" +
"<dd>JDK1.0</dd>\n" +
@@ -185,7 +183,7 @@
"<a href=\"../serialized-form.html#pkg1.C1\">" +
"Serialized Form</a></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"paramLabel\">Parameters:" +
"</span></dt>\n" +
"<dd><code>title</code> - the title</dd>\n" +
@@ -200,7 +198,7 @@
"<dd><code>" +
"HeadlessException</code></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"paramLabel\">Parameters:" +
"</span></dt>\n" +
"<dd><code>undecorated</code> - <code>true</code>" +
@@ -214,7 +212,7 @@
"<dd><a href=\"../pkg1/C1.html#readObject--\">" +
"<code>readObject()</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl>\n" +
"<dt><span class=\"throwsLabel\">Throws:</span>" +
"</dt>\n" +
"<dd><code>java.io.IOException</code></dd>\n" +
@@ -223,7 +221,7 @@
"<dd><a href=\"../pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html", "<dl>\n" +
+ { "serialized-form.html", "<dl>\n" +
"<dt><span class=\"throwsLabel\">Throws:</span>" +
"</dt>\n" +
"<dd><code>" +
@@ -233,7 +231,7 @@
"<dd><a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>C1.setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" <span class=\"deprecationComment\">As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
@@ -249,7 +247,7 @@
"<dd><a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>C1.setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" <span class=\"deprecationComment\">As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
@@ -262,7 +260,7 @@
"IOException</code></code></dd>\n" +
"<dd><code>java.io.IOException</code></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" </div>\n" +
"<div class=\"block\">" +
@@ -271,25 +269,25 @@
// Test with -nocomment and -nodeprecated options. The ClassDocs whould
// not display definition lists for any member details.
private static final String[][] TEST_NOCMNT_NODEPR = {
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<pre>public void readObject()\n" +
" throws java.io.IOException</pre>\n" +
"</li>"},
- {BUG_ID + "/pkg1/C2.html", "<pre>public C2()</pre>\n" +
+ { "pkg1/C2.html", "<pre>public C2()</pre>\n" +
"</li>"},
- {BUG_ID + "/pkg1/C1.ModalExclusionType.html", "<pre>public " +
+ { "pkg1/C1.ModalExclusionType.html", "<pre>public " +
"static final <a href=\"../pkg1/C1.ModalExclusionType.html\" " +
"title=\"enum in pkg1\">C1.ModalExclusionType</a> " +
"APPLICATION_EXCLUDE</pre>\n" +
"</li>"},
- {BUG_ID + "/serialized-form.html", "<pre>boolean " +
+ { "serialized-form.html", "<pre>boolean " +
"undecorated</pre>\n" +
"<div class=\"block\"><span class=\"deprecatedLabel\">" +
"Deprecated.</span> <span class=\"deprecationComment\">As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\"><code>" +
"setUndecorated(boolean)</code></a>.</span></div>\n" +
"</li>"},
- {BUG_ID + "/serialized-form.html", "<span class=\"deprecatedLabel\">" +
+ { "serialized-form.html", "<span class=\"deprecatedLabel\">" +
"Deprecated.</span> <span class=\"deprecationComment\">As of JDK version" +
" 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
@@ -299,54 +297,54 @@
// Test for valid HTML generation which should not comprise of empty
// definition list tags.
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg1/package-summary.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/package-summary.html", "<dl>\n" +
+ { "pkg1/package-summary.html", "<dl></dl>"},
+ { "pkg1/package-summary.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/C1.html", "<dl>\n" +
+ { "pkg1/C1.html", "<dl></dl>"},
+ { "pkg1/C1.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C1.ModalExclusionType.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/C1.ModalExclusionType.html", "<dl>\n" +
+ { "pkg1/C1.ModalExclusionType.html", "<dl></dl>"},
+ { "pkg1/C1.ModalExclusionType.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C2.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/C2.html", "<dl>\n" +
+ { "pkg1/C2.html", "<dl></dl>"},
+ { "pkg1/C2.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C2.ModalType.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/C2.ModalType.html", "<dl>\n" +
+ { "pkg1/C2.ModalType.html", "<dl></dl>"},
+ { "pkg1/C2.ModalType.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C3.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/C3.html", "<dl>\n" +
+ { "pkg1/C3.html", "<dl></dl>"},
+ { "pkg1/C3.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C4.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/C4.html", "<dl>\n" +
+ { "pkg1/C4.html", "<dl></dl>"},
+ { "pkg1/C4.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/C5.html", "<dl></dl>"},
- {BUG_ID + "/pkg1/C5.html", "<dl>\n" +
+ { "pkg1/C5.html", "<dl></dl>"},
+ { "pkg1/C5.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/overview-tree.html", "<dl></dl>"},
- {BUG_ID + "/overview-tree.html", "<dl>\n" +
+ { "overview-tree.html", "<dl></dl>"},
+ { "overview-tree.html", "<dl>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html", "<dl></dl>"},
- {BUG_ID + "/serialized-form.html", "<dl>\n" +
+ { "serialized-form.html", "<dl></dl>"},
+ { "serialized-form.html", "<dl>\n" +
"</dl>"}};
private static final String[] ARGS1 =
new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS2 =
new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-nocomment", "-sourcepath",
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-nocomment", "-sourcepath",
SRC_DIR, "pkg1"};
private static final String[] ARGS3 =
new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-nodeprecated", "-sourcepath",
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-nodeprecated", "-sourcepath",
SRC_DIR, "pkg1"};
private static final String[] ARGS4 =
new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-nocomment", "-nodeprecated",
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-nocomment", "-nodeprecated",
"-sourcepath", SRC_DIR, "pkg1"};
/**
@@ -355,28 +353,14 @@
*/
public static void main(String[] args) {
TestHtmlDefinitionListTag tester = new TestHtmlDefinitionListTag();
- run(tester, ARGS1, TEST_ALL, NEGATED_TEST);
- run(tester, ARGS1, TEST_CMNT_DEPR, NEGATED_TEST);
- run(tester, ARGS2, TEST_ALL, NEGATED_TEST);
- run(tester, ARGS2, NO_TEST, TEST_CMNT_DEPR);
- run(tester, ARGS3, TEST_ALL, NEGATED_TEST);
- run(tester, ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR);
- run(tester, ARGS4, TEST_ALL, NEGATED_TEST);
- run(tester, ARGS4, TEST_NOCMNT_NODEPR, TEST_CMNT_DEPR);
+ tester.run(ARGS1, TEST_ALL, NEGATED_TEST);
+ tester.run(ARGS1, TEST_CMNT_DEPR, NEGATED_TEST);
+ tester.run(ARGS2, TEST_ALL, NEGATED_TEST);
+ tester.run(ARGS2, NO_TEST, TEST_CMNT_DEPR);
+ tester.run(ARGS3, TEST_ALL, NEGATED_TEST);
+ tester.run(ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR);
+ tester.run(ARGS4, TEST_ALL, NEGATED_TEST);
+ tester.run(ARGS4, TEST_NOCMNT_NODEPR, TEST_CMNT_DEPR);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlStrongTag/TestHtmlStrongTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,28 +36,27 @@
public class TestHtmlStrongTag extends JavadocTester {
- private static final String BUG_ID = "6786028";
private static final String[][] TEST1 = {
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<span class=\"seeLabel\">See Also:</span>"}};
private static final String[][] NEGATED_TEST1 = {
- {BUG_ID + "/pkg1/C1.html", "<STRONG>Method Summary</STRONG>"},
- {BUG_ID + "/pkg1/C1.html", "<B>"},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/C1.html", "<STRONG>Method Summary</STRONG>"},
+ { "pkg1/C1.html", "<B>"},
+ { "pkg1/package-summary.html",
"<STRONG>Class Summary</STRONG>"}};
private static final String[][] TEST2 = {
- {BUG_ID + "/pkg2/C2.html", "<B>Comments:</B>"}};
+ { "pkg2/C2.html", "<B>Comments:</B>"}};
private static final String[][] NEGATED_TEST2 = {
- {BUG_ID + "/pkg2/C2.html", "<STRONG>Method Summary</STRONG>"},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg2/C2.html", "<STRONG>Method Summary</STRONG>"},
+ { "pkg1/package-summary.html",
"<STRONG>Class Summary</STRONG>"}};
private static final String[] ARGS1 =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS2 =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg2"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg2"};
/**
* The entry point of the test.
@@ -65,22 +64,8 @@
*/
public static void main(String[] args) {
TestHtmlStrongTag tester = new TestHtmlStrongTag();
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS1, TEST1, NEGATED_TEST1);
+ tester.run(ARGS2, TEST2, NEGATED_TEST2);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHtmlTableStyles/TestHtmlTableStyles.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTableStyles/TestHtmlTableStyles.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,47 +33,45 @@
public class TestHtmlTableStyles extends JavadocTester {
- private static final String BUG_ID = "8008164";
-
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg1/TestTable.html",
+ { "pkg1/TestTable.html",
"<table border cellpadding=3 cellspacing=1>"
},
- {BUG_ID + "/pkg1/TestTable.html",
+ { "pkg1/TestTable.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Field Summary table, listing fields, " +
"and an explanation\">"
},
- {BUG_ID + "/pkg1/TestTable.html",
+ { "pkg1/TestTable.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Constructor Summary table, listing " +
"constructors, and an explanation\">"
},
- {BUG_ID + "/pkg1/TestTable.html",
+ { "pkg1/TestTable.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Method Summary table, listing methods, " +
"and an explanation\">"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Class Summary table, listing classes, " +
"and an explanation\">"
},
- {BUG_ID + "/pkg1/class-use/TestTable.html",
+ { "pkg1/class-use/TestTable.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Use table, listing fields, and an explanation\">"
},
- {BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<table class=\"overviewSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Packages table, listing packages, and an explanation\">"
},
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<table class=\"deprecatedSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Deprecated Methods table, listing " +
"deprecated methods, and an explanation\">"
},
- {BUG_ID + "/constant-values.html",
+ { "constant-values.html",
"<table class=\"constantsSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Constant Field Values table, listing " +
"constant fields, and values\">"
@@ -81,7 +79,7 @@
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
};
/**
@@ -90,21 +88,7 @@
*/
public static void main(String[] args) throws Exception {
TestHtmlTableStyles tester = new TestHtmlTableStyles();
- run(tester, ARGS, TEST, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTableTags/TestHtmlTableTags.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,12 +34,9 @@
public class TestHtmlTableTags extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "6786688";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
};
//Input for string tests for HTML table tags.
@@ -49,127 +46,127 @@
*/
//Package summary
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\"" +
" cellspacing=\"0\" summary=\"Class Summary table, " +
"listing classes, and an explanation\">"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\"" +
" cellspacing=\"0\" summary=\"Interface Summary table, " +
"listing interfaces, and an explanation\">"
},
- {BUG_ID + "/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\"" +
" cellspacing=\"0\" summary=\"Enum Summary table, " +
"listing enums, and an explanation\">"
},
- {BUG_ID + "/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\"" +
" cellspacing=\"0\" summary=\"Annotation Types Summary table, " +
"listing annotation types, and an explanation\">"
},
// Class documentation
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Field Summary table, listing fields, " +
"and an explanation\">"
},
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Method Summary table, listing methods, " +
"and an explanation\">"
},
- {BUG_ID + "/pkg2/C2.html",
+ { "pkg2/C2.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Nested Class Summary table, listing " +
"nested classes, and an explanation\">"
},
- {BUG_ID + "/pkg2/C2.html",
+ { "pkg2/C2.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Constructor Summary table, listing " +
"constructors, and an explanation\">"
},
- {BUG_ID + "/pkg2/C2.ModalExclusionType.html",
+ { "pkg2/C2.ModalExclusionType.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Enum Constant Summary table, listing " +
"enum constants, and an explanation\">"
},
- {BUG_ID + "/pkg2/C3.html",
+ { "pkg2/C3.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Required Element Summary table, " +
"listing required elements, and an explanation\">"
},
- {BUG_ID + "/pkg2/C4.html",
+ { "pkg2/C4.html",
"<table class=\"memberSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Optional Element Summary table, " +
"listing optional elements, and an explanation\">"
},
// Class use documentation
- {BUG_ID + "/pkg1/class-use/I1.html",
+ { "pkg1/class-use/I1.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing packages, and an explanation\">"
},
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing fields, and an explanation\">"
},
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing methods, and an explanation\">"
},
- {BUG_ID + "/pkg2/class-use/C2.html",
+ { "pkg2/class-use/C2.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing fields, and an explanation\">"
},
- {BUG_ID + "/pkg2/class-use/C2.html",
+ { "pkg2/class-use/C2.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing methods, and an explanation\">"
},
- {BUG_ID + "/pkg2/class-use/C2.ModalExclusionType.html",
+ { "pkg2/class-use/C2.ModalExclusionType.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing packages, and an explanation\">"
},
- {BUG_ID + "/pkg2/class-use/C2.ModalExclusionType.html",
+ { "pkg2/class-use/C2.ModalExclusionType.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing methods, and an explanation\">"
},
// Package use documentation
- {BUG_ID + "/pkg1/package-use.html",
+ { "pkg1/package-use.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing packages, and an explanation\">"
},
- {BUG_ID + "/pkg1/package-use.html",
+ { "pkg1/package-use.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing classes, and an explanation\">"
},
- {BUG_ID + "/pkg2/package-use.html",
+ { "pkg2/package-use.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing packages, and an explanation\">"
},
- {BUG_ID + "/pkg2/package-use.html",
+ { "pkg2/package-use.html",
"<table class=\"useSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" summary=\"Use " +
"table, listing classes, and an explanation\">"
},
// Deprecated
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<table class=\"deprecatedSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" " +
"summary=\"Deprecated Fields table, listing deprecated fields, " +
"and an explanation\">"
},
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<table class=\"deprecatedSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" " +
"summary=\"Deprecated Methods table, listing deprecated methods, " +
"and an explanation\">"
},
// Constant values
- {BUG_ID + "/constant-values.html",
+ { "constant-values.html",
"<table class=\"constantsSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" " +
"summary=\"Constant Field Values table, listing " +
"constant fields, and values\">"
},
// Overview Summary
- {BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<table class=\"overviewSummary\" border=\"0\" cellpadding=\"3\" " +
"cellspacing=\"0\" summary=\"Packages table, " +
"listing packages, and an explanation\">"
@@ -180,27 +177,27 @@
*/
//Package summary
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<caption><span>Class Summary</span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<caption><span>Interface Summary</span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<caption><span>Enum Summary</span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<caption><span>Annotation Types Summary</span><span class=\"tabEnd\">" +
" </span></caption>"
},
// Class documentation
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<caption><span>Fields</span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All " +
"Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">" +
@@ -211,94 +208,94 @@
"Deprecated Methods</a></span><span class=\"tabEnd\"> </span></span>" +
"</caption>"
},
- {BUG_ID + "/pkg2/C2.html",
+ { "pkg2/C2.html",
"<caption><span>Nested Classes</span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/C2.html",
+ { "pkg2/C2.html",
"<caption><span>Constructors</span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/C2.ModalExclusionType.html",
+ { "pkg2/C2.ModalExclusionType.html",
"<caption><span>Enum Constants</span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/C3.html",
+ { "pkg2/C3.html",
"<caption><span>Required Elements</span><span class=\"tabEnd\"> " +
"</span></caption>"
},
- {BUG_ID + "/pkg2/C4.html",
+ { "pkg2/C4.html",
"<caption><span>Optional Elements</span><span class=\"tabEnd\"> " +
"</span></caption>"
},
// Class use documentation
- {BUG_ID + "/pkg1/class-use/I1.html",
+ { "pkg1/class-use/I1.html",
"<caption><span>Packages that use <a href=\"../../pkg1/I1.html\" " +
"title=\"interface in pkg1\">I1</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<caption><span>Fields in <a href=\"../../pkg2/package-summary.html\">" +
"pkg2</a> declared as <a href=\"../../pkg1/C1.html\" " +
"title=\"class in pkg1\">C1</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<caption><span>Methods in <a href=\"../../pkg2/package-summary.html\">" +
"pkg2</a> that return <a href=\"../../pkg1/C1.html\" " +
"title=\"class in pkg1\">C1</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/C2.html",
+ { "pkg2/class-use/C2.html",
"<caption><span>Fields in <a href=\"../../pkg1/package-summary.html\">" +
"pkg1</a> declared as <a href=\"../../pkg2/C2.html\" " +
"title=\"class in pkg2\">C2</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/C2.html",
+ { "pkg2/class-use/C2.html",
"<caption><span>Methods in <a href=\"../../pkg1/package-summary.html\">" +
"pkg1</a> that return <a href=\"../../pkg2/C2.html\" " +
"title=\"class in pkg2\">C2</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/C2.ModalExclusionType.html",
+ { "pkg2/class-use/C2.ModalExclusionType.html",
"<caption><span>Methods in <a href=\"../../pkg2/package-summary.html\">" +
"pkg2</a> that return <a href=\"../../pkg2/C2.ModalExclusionType.html\" " +
"title=\"enum in pkg2\">C2.ModalExclusionType</a></span>" +
"<span class=\"tabEnd\"> </span></caption>"
},
// Package use documentation
- {BUG_ID + "/pkg1/package-use.html",
+ { "pkg1/package-use.html",
"<caption><span>Packages that use <a href=\"../pkg1/package-summary.html\">" +
"pkg1</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg1/package-use.html",
+ { "pkg1/package-use.html",
"<caption><span>Classes in <a href=\"../pkg1/package-summary.html\">" +
"pkg1</a> used by <a href=\"../pkg1/package-summary.html\">pkg1</a>" +
"</span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/package-use.html",
+ { "pkg2/package-use.html",
"<caption><span>Packages that use <a href=\"../pkg2/package-summary.html\">" +
"pkg2</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/package-use.html",
+ { "pkg2/package-use.html",
"<caption><span>Classes in <a href=\"../pkg2/package-summary.html\">" +
"pkg2</a> used by <a href=\"../pkg1/package-summary.html\">pkg1</a>" +
"</span><span class=\"tabEnd\"> </span></caption>"
},
// Deprecated
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<caption><span>Deprecated Fields</span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<caption><span>Deprecated Methods</span><span class=\"tabEnd\">" +
" </span></caption>"
},
// Constant values
- {BUG_ID + "/constant-values.html",
+ { "constant-values.html",
"<caption><span>pkg1.<a href=\"pkg1/C1.html\" title=\"class in pkg1\">" +
"C1</a></span><span class=\"tabEnd\"> </span></caption>"
},
// Overview Summary
- {BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<caption><span>Packages</span><span class=\"tabEnd\"> </span></caption>"
},
@@ -307,110 +304,110 @@
*/
//Package summary
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Class</th>\n" +
"<th class=\"colLast\" scope=\"col\"" +
">Description</th>"
},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Interface</th>\n" +
"<th class=\"colLast\" scope=\"col\"" +
">Description</th>"
},
- {BUG_ID + "/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Enum</th>\n" +
"<th class=\"colLast\" scope=\"col\"" +
">Description</th>"
},
- {BUG_ID + "/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Annotation Type</th>\n" +
"<th class=\"colLast\"" +
" scope=\"col\">Description</th>"
},
// Class documentation
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Field and Description</th>"
},
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Method and Description</th>"
},
- {BUG_ID + "/pkg2/C2.html",
+ { "pkg2/C2.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Class and Description</th>"
},
- {BUG_ID + "/pkg2/C2.html",
+ { "pkg2/C2.html",
"<th class=\"colOne\" scope=\"col\">Constructor and Description</th>"
},
- {BUG_ID + "/pkg2/C2.ModalExclusionType.html",
+ { "pkg2/C2.ModalExclusionType.html",
"<th class=\"colOne\" scope=\"col\">Enum Constant and Description</th>"
},
- {BUG_ID + "/pkg2/C3.html",
+ { "pkg2/C3.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Required Element and Description</th>"
},
- {BUG_ID + "/pkg2/C4.html",
+ { "pkg2/C4.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Optional Element and Description</th>"
},
// Class use documentation
- {BUG_ID + "/pkg1/class-use/I1.html",
+ { "pkg1/class-use/I1.html",
"<th class=\"colFirst\" scope=\"col\">Package</th>\n" +
"<th class=\"colLast\" scope=\"col\">Description</th>"
},
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Field and Description</th>"
},
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Method and Description</th>"
},
- {BUG_ID + "/pkg2/class-use/C2.html",
+ { "pkg2/class-use/C2.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Field and Description</th>"
},
- {BUG_ID + "/pkg2/class-use/C2.html",
+ { "pkg2/class-use/C2.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Method and Description</th>"
},
- {BUG_ID + "/pkg2/class-use/C2.ModalExclusionType.html",
+ { "pkg2/class-use/C2.ModalExclusionType.html",
"<th class=\"colFirst\" scope=\"col\">Package</th>\n" +
"<th class=\"colLast\" scope=\"col\">Description</th>"
},
- {BUG_ID + "/pkg2/class-use/C2.ModalExclusionType.html",
+ { "pkg2/class-use/C2.ModalExclusionType.html",
"<th class=\"colFirst\" scope=\"col\">Modifier and Type</th>\n" +
"<th class=\"colLast\" scope=\"col\">Method and Description</th>"
},
// Package use documentation
- {BUG_ID + "/pkg1/package-use.html",
+ { "pkg1/package-use.html",
"<th class=\"colFirst\" scope=\"col\">Package</th>\n" +
"<th class=\"colLast\" scope=\"col\">Description</th>"
},
- {BUG_ID + "/pkg1/package-use.html",
+ { "pkg1/package-use.html",
"<th class=\"colOne\" scope=\"col\">Class and Description</th>"
},
- {BUG_ID + "/pkg2/package-use.html",
+ { "pkg2/package-use.html",
"<th class=\"colFirst\" scope=\"col\">Package</th>\n" +
"<th class=\"colLast\" scope=\"col\">Description</th>"
},
- {BUG_ID + "/pkg2/package-use.html",
+ { "pkg2/package-use.html",
"<th class=\"colOne\" scope=\"col\">Class and Description</th>"
},
// Deprecated
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<th class=\"colOne\" scope=\"col\">Field and Description</th>"
},
- {BUG_ID + "/deprecated-list.html",
+ { "deprecated-list.html",
"<th class=\"colOne\" scope=\"col\">Method and Description</th>"
},
// Constant values
- {BUG_ID + "/constant-values.html",
+ { "constant-values.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Modifier and Type</th>\n" +
"<th" +
@@ -418,14 +415,13 @@
"<th class=\"colLast\" scope=\"col\">Value</th>"
},
// Overview Summary
- {BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<th class=\"colFirst\" scope=\"col\">" +
"Package</th>\n" +
"<th class=\"colLast\" scope=\"col\"" +
">Description</th>"
}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -433,21 +429,7 @@
*/
public static void main(String[] args) {
TestHtmlTableTags tester = new TestHtmlTableTags();
- run(tester, ARGS, TABLE_TAGS_TEST, NEGATED_TEST);
+ tester.run(ARGS, TABLE_TAGS_TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlTag/TestHtmlTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -38,34 +38,33 @@
public class TestHtmlTag extends JavadocTester {
- private static final String BUG_ID = "6786682";
private static final String[][] TEST1 = {
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<html lang=\"" + Locale.getDefault().getLanguage() + "\">"},
- {BUG_ID + "/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<html lang=\"" + Locale.getDefault().getLanguage() + "\">"}};
private static final String[][] NEGATED_TEST1 = {
- {BUG_ID + "/pkg1/C1.html", "<html>"}};
+ { "pkg1/C1.html", "<html>"}};
private static final String[][] TEST2 = {
- {BUG_ID + "/pkg2/C2.html", "<html lang=\"ja\">"},
- {BUG_ID + "/pkg2/package-summary.html", "<html lang=\"ja\">"}};
+ { "pkg2/C2.html", "<html lang=\"ja\">"},
+ { "pkg2/package-summary.html", "<html lang=\"ja\">"}};
private static final String[][] NEGATED_TEST2 = {
- {BUG_ID + "/pkg2/C2.html", "<html>"}};
+ { "pkg2/C2.html", "<html>"}};
private static final String[][] TEST3 = {
- {BUG_ID + "/pkg1/C1.html", "<html lang=\"en\">"},
- {BUG_ID + "/pkg1/package-summary.html", "<html lang=\"en\">"}};
+ { "pkg1/C1.html", "<html lang=\"en\">"},
+ { "pkg1/package-summary.html", "<html lang=\"en\">"}};
private static final String[][] NEGATED_TEST3 = {
- {BUG_ID + "/pkg1/C1.html", "<html>"}};
+ { "pkg1/C1.html", "<html>"}};
private static final String[] ARGS1 =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS2 =
new String[] {
- "-locale", "ja", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg2"};
+ "-locale", "ja", "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg2"};
private static final String[] ARGS3 =
new String[] {
- "-locale", "en_US", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+ "-locale", "en_US", "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"};
/**
* The entry point of the test.
@@ -73,23 +72,9 @@
*/
public static void main(String[] args) {
TestHtmlTag tester = new TestHtmlTag();
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
- run(tester, ARGS3, TEST3, NEGATED_TEST3);
+ tester.run(ARGS1, TEST1, NEGATED_TEST1);
+ tester.run(ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS3, TEST3, NEGATED_TEST3);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testIndentation/TestIndentation.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testIndentation/TestIndentation.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,26 +32,22 @@
public class TestIndentation extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8011288";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "p"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "p"
};
//Input for string search tests.
private static final String[][] TEST = {
- { BUG_ID + "/p/Indent.html",
+ { "p/Indent.html",
"<pre>public <T> void m(T t1," },
- { BUG_ID + "/p/Indent.html",
+ { "p/Indent.html",
"\n" +
" T t2)" },
- { BUG_ID + "/p/Indent.html",
+ { "p/Indent.html",
"\n" +
" throws java.lang.Exception" }
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -59,21 +55,7 @@
*/
public static void main(String[] args) {
TestIndentation tester = new TestIndentation();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testIndex/TestIndex.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testIndex/TestIndex.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,40 +36,37 @@
public class TestIndex extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4852280-4517115-4973608-4994589";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", SRC_DIR + "/NoPackage.java"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg", SRC_DIR + "/NoPackage.java"
};
//Input for string search tests.
private static final String[][] TEST = {
//Make sure the horizontal scroll bar does not appear in class frame.
- {BUG_ID + "/index.html",
+ { "index.html",
"<frame src=\"overview-summary.html\" name=\"classFrame\" title=\"" +
"Package, class and interface descriptions\" scrolling=\"yes\">"},
//Test index-all.html
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"pkg/C.html\" title=\"class in pkg\"><span class=\"typeNameLink\">C</span></a>" +
" - Class in <a href=\"pkg/package-summary.html\">pkg</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"pkg/Interface.html\" title=\"interface in pkg\">" +
"<span class=\"typeNameLink\">Interface</span></a> - Interface in " +
"<a href=\"pkg/package-summary.html\">pkg</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"pkg/AnnotationType.html\" title=\"annotation in pkg\">" +
"<span class=\"typeNameLink\">AnnotationType</span></a> - Annotation Type in " +
"<a href=\"pkg/package-summary.html\">pkg</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"pkg/Coin.html\" title=\"enum in pkg\">" +
"<span class=\"typeNameLink\">Coin</span></a> - Enum in " +
"<a href=\"pkg/package-summary.html\">pkg</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"Class in <a href=\"package-summary.html\"><Unnamed></a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<dl>\n" +
"<dt><span class=\"memberNameLink\"><a href=\"pkg/C.html#Java\">" +
"Java</a></span> - Static variable in class pkg.<a href=\"pkg/C.html\" " +
@@ -81,7 +78,6 @@
"<dd> </dd>\n" +
"</dl>"},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -89,21 +85,7 @@
*/
public static void main(String[] args) {
TestIndex tester = new TestIndex();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testInlineLinkLabel/TestInlineLinkLabel.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testInlineLinkLabel/TestInlineLinkLabel.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,20 +34,18 @@
public class TestInlineLinkLabel extends JavadocTester {
- private static final String BUG_ID = "4524136";
private static final String[][] TEST = {
//Search for the label to the package link.
- {BUG_ID + "/pkg/C1.html" ,
+ { "pkg/C1.html" ,
"<a href=\"../pkg/package-summary.html\"><code>Here is a link to a package</code></a>"},
//Search for the label to the class link
- {BUG_ID + "/pkg/C1.html" ,
+ { "pkg/C1.html" ,
"<a href=\"../pkg/C2.html\" title=\"class in pkg\"><code>Here is a link to a class</code></a>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"};
/**
* The entry point of the test.
@@ -55,21 +53,7 @@
*/
public static void main(String[] args) {
TestInlineLinkLabel tester = new TestInlineLinkLabel();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testInterface/TestInterface.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testInterface/TestInterface.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,24 +37,21 @@
public class TestInterface extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4682448-4947464-5029946";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/Interface.html",
+ { "pkg/Interface.html",
"<pre>int method()</pre>"},
- {BUG_ID + "/pkg/Interface.html",
+ { "pkg/Interface.html",
"<pre>static final int field</pre>"},
// Make sure known implementing class list is correct and omits type parameters.
- {BUG_ID + "/pkg/Interface.html",
+ { "pkg/Interface.html",
"<dl>\n" +
"<dt>All Known Implementing Classes:</dt>\n" +
"<dd><a href=\"../pkg/Child.html\" title=\"class in pkg\">Child" +
@@ -63,7 +60,7 @@
"</dl>"},
// Make sure "All Implemented Interfaces": has substituted type parameters
- {BUG_ID + "/pkg/Child.html",
+ { "pkg/Child.html",
"<dl>\n" +
"<dt>All Implemented Interfaces:</dt>\n" +
"<dd><a href=\"../pkg/Interface.html\" title=\"interface in pkg\">" +
@@ -71,7 +68,7 @@
"</dl>"
},
//Make sure Class Tree has substituted type parameters.
- {BUG_ID + "/pkg/Child.html",
+ { "pkg/Child.html",
"<ul class=\"inheritance\">\n" +
"<li>java.lang.Object</li>\n" +
"<li>\n" +
@@ -88,7 +85,7 @@
"</ul>"
},
//Make sure "Direct Know Subclasses" omits type parameters
- {BUG_ID + "/pkg/Parent.html",
+ { "pkg/Parent.html",
"<dl>\n" +
"<dt>Direct Known Subclasses:</dt>\n" +
"<dd><a href=\"../pkg/Child.html\" title=\"class in pkg\">Child" +
@@ -96,7 +93,7 @@
"</dl>"
},
//Make sure "Specified By" has substituted type parameters.
- {BUG_ID + "/pkg/Child.html",
+ { "pkg/Child.html",
"<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n" +
"<dd><code><a href=\"../pkg/Interface.html#method--\">method</a>" +
"</code> in interface <code>" +
@@ -105,7 +102,7 @@
"T</a>></code></dd>"
},
//Make sure "Overrides" has substituted type parameters.
- {BUG_ID + "/pkg/Child.html",
+ { "pkg/Child.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg/Parent.html#method--\">method</a>" +
"</code> in class <code><a href=\"../pkg/Parent.html\" " +
@@ -114,9 +111,9 @@
},
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/Interface.html",
+ { "pkg/Interface.html",
"public int method()"},
- {BUG_ID + "/pkg/Interface.html",
+ { "pkg/Interface.html",
"public static final int field"},
};
@@ -126,21 +123,7 @@
*/
public static void main(String[] args) {
TestInterface tester = new TestInterface();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,58 +33,56 @@
public class TestJavaFX extends JavadocTester {
- private static final String BUG_ID = "7112427";
-
private static final String[][] TEST =
new String[][] {
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<dt><span class=\"seeLabel\">See Also:</span></dt>\n" +
"<dd><a href=\"C.html#getRate--\"><code>getRate()</code></a>, \n" +
"<a href=\"C.html#setRate-double-\"><code>setRate(double)</code></a></dd>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<pre>public final void setRate(double value)</pre>\n" +
"<div class=\"block\">Sets the value of the property rate.</div>\n" +
"<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Property description:</span></dt>" },
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<pre>public final double getRate()</pre>\n" +
"<div class=\"block\">Gets the value of the property rate.</div>\n" +
"<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Property description:</span></dt>" },
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"C.html#rateProperty\">rate</a></span></code>\n" +
"<div class=\"block\">Defines the direction/speed at which the <code>Timeline</code> is expected to"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<span class=\"simpleTagLabel\">Default value:</span>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<span class=\"simpleTagLabel\">Since:</span></dt>\n" +
"<dd>JavaFX 8.0</dd>" },
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<p>Sets the value of the property <code>Property</code>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<p>Gets the value of the property <code>Property</code>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<span class=\"simpleTagLabel\">Property description:</span>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"C.html#setTestMethodProperty--\">setTestMethodProperty</a></span>()</code> </td>" },
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<h4>isPaused</h4>\n" +
"<pre>public final double isPaused()</pre>\n" +
"<div class=\"block\">Gets the value of the property paused.</div>" },
- {"./" + BUG_ID + "/D.html",
+ { "D.html",
"<h3>Properties inherited from class <a href=\"C.html\" title=\"class in <Unnamed>\">C</a></h3>\n" +
"<code><a href=\"C.html#pausedProperty\">paused</a>, <a href=\"C.html#rateProperty\">rate</a></code></li>" },
};
private static final String[][] NO_TEST =
new String[][] {
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"A()"},
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-javafx",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-javafx",
SRC_DIR + "/C.java", SRC_DIR + "/D.java"
};
@@ -94,21 +92,7 @@
*/
public static void main(String[] args) {
TestJavaFX tester = new TestJavaFX();
- run(tester, ARGS, TEST, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testJavascript/TestJavascript.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testJavascript/TestJavascript.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,22 +34,19 @@
public class TestJavascript extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4665566-4855876-8012375";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", SRC_DIR +
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg", SRC_DIR +
"/TestJavascript.java"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../index.html?pkg/C.html\" target=\"_top\">Frames</a>"},
- {BUG_ID + "/TestJavascript.html",
+ { "TestJavascript.html",
"<a href=\"index.html?TestJavascript.html\" target=\"_top\">Frames</a>"},
- {BUG_ID + "/index.html",
+ { "index.html",
"<script type=\"text/javascript\">\n" +
" targetPage = \"\" + window.location.search;\n" +
" if (targetPage != \"\" && targetPage != \"undefined\")\n" +
@@ -104,7 +101,7 @@
"</script>"},
//Make sure title javascript only runs if is-external is not true
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
" try {\n" +
" if (location.href.indexOf('is-external=true') == -1) {\n" +
" parent.document.title=\"C\";\n" +
@@ -114,29 +111,13 @@
" }"},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestJavascript tester = new TestJavascript();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLambdaFeature/TestLambdaFeature.java Thu Apr 24 16:04:44 2014 -0700
@@ -40,25 +40,22 @@
public class TestLambdaFeature extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8004893-8022738";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg", "pkg1"
};
private static final String[] ARGS_1 = new String[] {
- "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR, "-source", "1.7", "pkg1"
+ "-d", OUTPUT_DIR + "-2", "-sourcepath", SRC_DIR, "-source", "1.7", "pkg1"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<td class=\"colFirst\"><code>default void</code></td>"},
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<pre>default void defaultMethod()</pre>"},
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>" +
"All Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t2\" class=\"tableTab\"><span>" +
@@ -69,14 +66,14 @@
"</span><span id=\"t5\" class=\"tableTab\"><span>" +
"<a href=\"javascript:show(16);\">Default Methods</a></span>" +
"<span class=\"tabEnd\"> </span></span></caption>"},
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<dl>\n" +
"<dt>Functional Interface:</dt>\n" +
"<dd>This is a functional interface and can therefore be used as " +
"the assignment target for a lambda expression or method " +
"reference.</dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg1/FuncInf.html",
+ { "pkg1/FuncInf.html",
"<dl>\n" +
"<dt>Functional Interface:</dt>\n" +
"<dd>This is a functional interface and can therefore be used as " +
@@ -85,25 +82,25 @@
"</dl>"}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<td class=\"colFirst\"><code>default default void</code></td>"},
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<pre>default default void defaultMethod()</pre>"},
- {BUG_ID + "/pkg/B.html",
+ { "pkg/B.html",
"<td class=\"colFirst\"><code>default void</code></td>"},
- {BUG_ID + "/pkg1/NotAFuncInf.html",
+ { "pkg1/NotAFuncInf.html",
"<dl>\n" +
"<dt>Functional Interface:</dt>\n" +
"<dd>This is a functional interface and can therefore be used as " +
"the assignment target for a lambda expression or method " +
"reference.</dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg/B.html",
+ { "pkg/B.html",
"<dl>\n" +
"<dt>Functional Interface:</dt>"}
};
private static final String[][] NEGATED_TEST_1 = {
- {BUG_ID + "-2/pkg1/FuncInf.html",
+ { "pkg1/FuncInf.html",
"<dl>\n" +
"<dt>Functional Interface:</dt>"}
};
@@ -114,22 +111,8 @@
*/
public static void main(String[] args) {
TestLambdaFeature tester = new TestLambdaFeature();
- run(tester, ARGS, TEST, NEGATED_TEST);
- run(tester, ARGS_1, NO_TEST, NEGATED_TEST_1);
+ tester.run(ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS_1, NO_TEST, NEGATED_TEST_1);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLeadingSpaces/LeadingSpaces.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLeadingSpaces/LeadingSpaces.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,9 +37,8 @@
public class LeadingSpaces extends JavadocTester {
- private static final String BUG_ID = "4232882-8014636";
private static final String[][] TEST = {
- {BUG_ID + "/LeadingSpaces.html",
+ { "LeadingSpaces.html",
" 1\n" +
" 2\n" +
" 3\n" +
@@ -48,10 +47,9 @@
" 6\n" +
" 7"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
SRC_DIR + "/LeadingSpaces.java"};
/**
@@ -60,25 +58,11 @@
*/
public static void main(String[] args) {
LeadingSpaces tester = new LeadingSpaces();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
/**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
-
- /**
This leading spaces in the <pre> block below should be
preserved.
<pre>
--- a/langtools/test/com/sun/javadoc/testLegacyTaglet/TestLegacyTaglet.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLegacyTaglet/TestLegacyTaglet.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,49 +34,31 @@
public class TestLegacyTaglet extends JavadocTester {
- private static final String BUG_ID = "4638723-8015882";
-
private static final String[] ARGS =
- new String[] {"-d", BUG_ID, "-sourcepath", SRC_DIR,
+ new String[] {"-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-tagletpath", SRC_DIR, "-taglet", "ToDoTaglet", "-taglet", "Check",
"-taglet", "UnderlineTaglet", SRC_DIR + "/C.java"};
private static final String[][] TEST = new String[][] {
- {BUG_ID + "/C.html", "This is an <u>underline</u>"},
- {BUG_ID + "/C.html",
+ { "C.html", "This is an <u>underline</u>"},
+ { "C.html",
"<DT><B>To Do:</B><DD><table cellpadding=2 cellspacing=0><tr>" +
"<td bgcolor=\"yellow\">Finish this class.</td></tr></table></DD>"},
- {BUG_ID + "/C.html",
+ { "C.html",
"<DT><B>To Do:</B><DD><table cellpadding=2 cellspacing=0><tr>" +
"<td bgcolor=\"yellow\">Tag in Method.</td></tr></table></DD>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestLegacyTaglet tester = new TestLegacyTaglet();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
if (tester.getErrorOutput().contains("NullPointerException")) {
throw new AssertionError("javadoc threw NullPointerException");
}
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLinkOption/TestBadLinkOption.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLinkOption/TestBadLinkOption.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -34,11 +34,9 @@
public class TestBadLinkOption extends JavadocTester {
- private static final String BUG_ID = "4720957";
-
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
- "-link", BUG_ID, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
+ "-link", OUTPUT_DIR, "pkg"
};
private static final String[][] TEST = {
@@ -55,21 +53,7 @@
*/
public static void main(String[] args) {
TestBadLinkOption tester = new TestBadLinkOption();
- run(tester, ARGS, TEST, NEG_TEST);
+ tester.run(ARGS, TEST, NEG_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLinkOption/TestLinkOption.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLinkOption/TestLinkOption.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,33 +36,31 @@
public class TestLinkOption extends JavadocTester {
- private static final String BUG_ID = "4720957-5020118-8038976";
-
//Generate the documentation using -linkoffline and a URL as the first parameter.
private static final String[] ARGS1 = new String[] {
- "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR + "-1", "-sourcepath", SRC_DIR,
"-linkoffline", "http://java.sun.com/j2se/1.4/docs/api/",
SRC_DIR, "-package", "pkg", "java.lang"
};
private static final String[][] TEST1 = {
- {BUG_ID + "-1/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html?is-external=true\" " +
"title=\"class or interface in java.lang\"><code>Link to String Class</code></a>"
},
//Make sure the parameters are indented properly when the -link option is used.
- {BUG_ID + "-1/pkg/C.html",
+ { "pkg/C.html",
"(int p1,\n" +
" int p2,\n" +
" int p3)"
},
- {BUG_ID + "-1/pkg/C.html",
+ { "pkg/C.html",
"(int p1,\n" +
" int p2,\n" +
" <a href=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true\" title=\"class or interface in java.lang\">" +
"Object</a> p3)"
},
- {BUG_ID + "-1/java/lang/StringBuilderChild.html",
+ { "java/lang/StringBuilderChild.html",
"<pre>public abstract class <span class=\"typeNameLabel\">StringBuilderChild</span>\n" +
"extends <a href=\"http://java.sun.com/j2se/1.4/docs/api/java/lang/Object.html?is-external=true\" " +
"title=\"class or interface in java.lang\">Object</a></pre>"
@@ -74,27 +72,26 @@
//Generate the documentation using -linkoffline and a relative path as the first parameter.
//We will try linking to the docs generated in test 1 with a relative path.
private static final String[] ARGS2 = new String[] {
- "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR,
- "-linkoffline", "../" + BUG_ID + "-1",
- BUG_ID + "-1", "-package", "pkg2"
+ "-d", OUTPUT_DIR + "-2", "-sourcepath", SRC_DIR,
+ "-linkoffline", "../" + OUTPUT_DIR + "-1",
+ OUTPUT_DIR + "-1", "-package", "pkg2"
};
private static final String[][] TEST2 = {
- {BUG_ID + "-2/pkg2/C2.html",
- "This is a link to <a href=\"../../" + BUG_ID +
+ { "pkg2/C2.html",
+ "This is a link to <a href=\"../../" + OUTPUT_DIR +
"-1/pkg/C.html?is-external=true\" " +
"title=\"class or interface in pkg\"><code>Class C</code></a>."
}
};
- private static final String[][] NEGATED_TEST2 = NO_TEST;
/*
* Create the documentation using the -link option, vary the behavior with
* both trailing and no trailing slash. We are only interested in ensuring
* that the command executes with no errors or related warnings.
*/
static String[] createArguments(boolean withTrailingSlash) {
- String packagePath = new File(BUG_ID + "-1").getAbsolutePath();
- String outputDirName = BUG_ID;
+ String packagePath = new File(OUTPUT_DIR + "-1").getAbsolutePath();
+ String outputDirName = OUTPUT_DIR;
if (withTrailingSlash) {
// add the trailing slash, if it is not present!
if (!packagePath.endsWith(FS)) {
@@ -121,8 +118,9 @@
*/
public static void main(String[] args) {
TestLinkOption tester = new TestLinkOption();
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS1, TEST1, NEGATED_TEST1);
+ tester.run(ARGS1, TEST1, NEGATED_TEST1);
+ tester.run(ARGS2, TEST2, NO_TEST);
tester.runJavadoc(createArguments(true)); // with trailing slash
tester.runJavadoc(createArguments(false)); // without trailing slash
tester.printSummary();
@@ -131,18 +129,4 @@
}
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLinkOption/TestNewLineInLink.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLinkOption/TestNewLineInLink.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -35,7 +35,6 @@
public class TestNewLineInLink extends JavadocTester {
- private static final String BUG_ID = "4739870";
private static final String[][] NEGATED_TEST =
new String[][] {
{ERROR_OUTPUT,
@@ -43,7 +42,7 @@
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-linkoffline", "http://www.java.sun.com/j2se/1.4/docs/api",
SRC_DIR, "testNewLineInLink"};
@@ -53,21 +52,7 @@
*/
public static void main(String[] args) {
TestNewLineInLink tester = new TestNewLineInLink();
- run(tester, ARGS, new String[][] {}, NEGATED_TEST);
+ tester.run(ARGS, new String[][] {}, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLinkTaglet/TestLinkTaglet.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,18 +35,15 @@
public class TestLinkTaglet extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4732864-6280605-7064544-8014636";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", SRC_DIR +
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg", SRC_DIR +
"/checkPkg/B.java"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"Qualified Link: <a href=\"../pkg/C.InnerC.html\" title=\"class in pkg\"><code>C.InnerC</code></a>.<br/>\n" +
" Unqualified Link1: <a href=\"../pkg/C.InnerC.html\" title=\"class in pkg\"><code>C.InnerC</code></a>.<br/>\n" +
" Unqualified Link2: <a href=\"../pkg/C.InnerC.html\" title=\"class in pkg\"><code>C.InnerC</code></a>.<br/>\n" +
@@ -54,12 +51,12 @@
" Unqualified Link: <a href=\"../pkg/C.html#method-pkg.C.InnerC-pkg.C.InnerC2-\"><code>method(C.InnerC, C.InnerC2)</code></a>.<br/>\n" +
" Unqualified Link: <a href=\"../pkg/C.html#method-pkg.C.InnerC-pkg.C.InnerC2-\"><code>method(InnerC, InnerC2)</code></a>.<br/>"
},
- {BUG_ID + "/pkg/C.InnerC.html",
+ { "pkg/C.InnerC.html",
"Link to member in outer class: <a href=\"../pkg/C.html#MEMBER\"><code>C.MEMBER</code></a> <br/>\n" +
" Link to member in inner class: <a href=\"../pkg/C.InnerC2.html#MEMBER2\"><code>C.InnerC2.MEMBER2</code></a> <br/>\n" +
" Link to another inner class: <a href=\"../pkg/C.InnerC2.html\" title=\"class in pkg\"><code>C.InnerC2</code></a>"
},
- {BUG_ID + "/pkg/C.InnerC2.html",
+ { "pkg/C.InnerC2.html",
"<dl>\n" +
"<dt>Enclosing class:</dt>\n" +
"<dd><a href=\"../pkg/C.html\" title=\"class in pkg\">C</a></dd>\n" +
@@ -76,21 +73,7 @@
*/
public static void main(String[] args) {
TestLinkTaglet tester = new TestLinkTaglet();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,15 +35,13 @@
public class TestLinkToSerialForm extends JavadocTester {
- private static final String BUG_ID = "4521661";
private static final String[][] TEST = {
- {BUG_ID + "/serialized-form.html", "<a name=\"pkg.C\">"},
- {BUG_ID + "/pkg/C.html", "<a href=\"../serialized-form.html#pkg.C\">"}
+ { "serialized-form.html", "<a name=\"pkg.C\">"},
+ { "pkg/C.html", "<a href=\"../serialized-form.html#pkg.C\">"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"};
/**
* The entry point of the test.
@@ -51,21 +49,7 @@
*/
public static void main(String[] args) {
TestLinkToSerialForm tester = new TestLinkToSerialForm();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testLiteralCodeInPre/TestLiteralCodeInPre.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testLiteralCodeInPre/TestLiteralCodeInPre.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,10 +32,6 @@
public class TestLiteralCodeInPre extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8002387-8014636";
- private static final String OUTPUT_DIR = BUG_ID;
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
"-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-Xdoclint:none", "pkg"
@@ -43,25 +39,25 @@
//Input for string search tests.
private static final String[][] TEST = {
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"no_pre()</pre>\n" +
"<div class=\"block\">abc<code>def</code>ghi</div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"no_pre_extra_whitespace()</pre>\n" +
"<div class=\"block\">abc<code>def </code>ghi</div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"in_pre()</pre>\n" +
"<div class=\"block\"><pre> abc<code> def </code>ghi</pre></div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"pre_after_text()</pre>\n" +
"<div class=\"block\">xyz <pre> abc<code> def </code>ghi</pre></div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"after_pre()</pre>\n" +
"<div class=\"block\">xyz <pre> pqr </pre> abc<code>def </code>ghi</div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"back_in_pre()</pre>\n" +
"<div class=\"block\">xyz <pre> pqr </pre> mno <pre> abc<code> def </code>ghi</pre></div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"typical_usage_code()</pre>\n" +
"<div class=\"block\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n" +
" Example: <pre><code>\n" +
@@ -70,7 +66,7 @@
" line 3 }\n" +
" </code></pre>\n" +
" and so it goes.</div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"typical_usage_literal()</pre>\n" +
"<div class=\"block\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n" +
" Example: <pre>\n" +
@@ -79,7 +75,7 @@
" line 3 }\n" +
" </pre>\n" +
" and so it goes.</div>" },
- { BUG_ID + "/pkg/Test.html",
+ { "pkg/Test.html",
"recommended_usage_literal()</pre>\n" +
"<div class=\"block\">Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n" +
" Example: <pre>\n" +
@@ -89,29 +85,13 @@
" and so it goes.</div>" }
};
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestLiteralCodeInPre tester = new TestLiteralCodeInPre();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testMemberInheritence/TestMemberInheritence.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,43 +35,41 @@
public class TestMemberInheritence extends JavadocTester {
- private static final String BUG_ID = "4638588-4635809-6256068-6270645";
-
private static final String[][] TEST = {
//Public field should be inherited
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"<a href=\"../pkg/BaseClass.html#pubField\">"},
//Public method should be inherited
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"<a href=\"../pkg/BaseClass.html#pubMethod--\">"},
//Public inner class should be inherited.
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"<a href=\"../pkg/BaseClass.pubInnerClass.html\" title=\"class in pkg\">"},
//Protected field should be inherited
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"<a href=\"../pkg/BaseClass.html#proField\">"},
//Protected method should be inherited
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"<a href=\"../pkg/BaseClass.html#proMethod--\">"},
//Protected inner class should be inherited.
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"<a href=\"../pkg/BaseClass.proInnerClass.html\" title=\"class in pkg\">"},
// New labels as of 1.5.0
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"Nested classes/interfaces inherited from class pkg." +
"<a href=\"../pkg/BaseClass.html\" title=\"class in pkg\">BaseClass</a>"},
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"Nested classes/interfaces inherited from interface pkg." +
"<a href=\"../pkg/BaseInterface.html\" title=\"interface in pkg\">BaseInterface</a>"},
// Test overriding/implementing methods with generic parameters.
- {BUG_ID + "/pkg/BaseClass.html",
+ { "pkg/BaseClass.html",
"<dl>\n" +
"<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n" +
"<dd><code><a href=\"../pkg/BaseInterface.html#getAnnotation-java.lang.Class-\">" +
@@ -81,22 +79,22 @@
"</dl>"},
// Test diamond inheritence member summary (6256068)
- {BUG_ID + "/diamond/Z.html",
+ { "diamond/Z.html",
"<code><a href=\"../diamond/A.html#aMethod--\">aMethod</a></code>"},
// Test that doc is inherited from closed parent (6270645)
- {BUG_ID + "/inheritDist/C.html",
+ { "inheritDist/C.html",
"<div class=\"block\">m1-B</div>"},
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/SubClass.html",
+ { "pkg/SubClass.html",
"<a href=\"../pkg/BaseClass.html#staticMethod--\">staticMethod</a></code>"},
};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", "diamond",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg", "diamond",
"inheritDist"};
/**
@@ -105,21 +103,7 @@
*/
public static void main(String[] args) {
TestMemberInheritence tester = new TestMemberInheritence();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,30 +36,27 @@
public class TestMemberSummary extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4951228-6290760";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg","pkg2"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg","pkg2"
};
//Input for string search tests.
private static final String[][] TEST = {
// Check return type in member summary.
- {BUG_ID + "/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<code><a href=\"../pkg/PublicChild.html\" title=\"class in pkg\">PublicChild</a></code></td>\n" +
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../pkg/PublicChild.html#returnTypeTest--\">" +
"returnTypeTest</a></span>()</code>"
},
// Check return type in member detail.
- {BUG_ID + "/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<pre>public <a href=\"../pkg/PublicChild.html\" title=\"class in pkg\">" +
"PublicChild</a> returnTypeTest()</pre>"
},
// Legacy anchor dimensions (6290760)
- {BUG_ID + "/pkg2/A.html",
+ { "pkg2/A.html",
"<a name=\"f-java.lang.Object:A-\">\n" +
"<!-- -->\n" +
"</a><a name=\"f-T:A-\">\n" +
@@ -67,7 +64,6 @@
"</a>"
},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -75,21 +71,7 @@
*/
public static void main(String[] args) {
TestMemberSummary tester = new TestMemberSummary();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testMethodTypes/TestMethodTypes.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testMethodTypes/TestMethodTypes.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,20 +33,17 @@
public class TestMethodTypes extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8002304";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"
};
private static final String[][] TEST = {
- {BUG_ID + "/pkg1/A.html",
+ { "pkg1/A.html",
"var methods = {"
},
- {BUG_ID + "/pkg1/A.html",
+ { "pkg1/A.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All " +
"Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t1\" class=\"tableTab\"><span><a href=\"javascript:show(1);\">" +
@@ -60,11 +57,11 @@
"</caption>"
},
- {BUG_ID + "/pkg1/A.html",
+ { "pkg1/A.html",
"<tr id=\"i0\" class=\"altColor\">"
},
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All " +
"Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">" +
@@ -74,11 +71,11 @@
"</caption>"
},
- {BUG_ID + "/pkg1/D.html",
+ { "pkg1/D.html",
"var methods = {"
},
- {BUG_ID + "/pkg1/D.html",
+ { "pkg1/D.html",
"<caption><span id=\"t0\" class=\"activeTableTab\"><span>All " +
"Methods</span><span class=\"tabEnd\"> </span></span>" +
"<span id=\"t2\" class=\"tableTab\"><span><a href=\"javascript:show(2);\">" +
@@ -92,22 +89,22 @@
"</caption>"
},
- {BUG_ID + "/pkg1/D.html",
+ { "pkg1/D.html",
"<tr id=\"i0\" class=\"altColor\">"
},
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg1/A.html",
+ { "pkg1/A.html",
"<caption><span>Methods</span><span class=\"tabEnd\"> </span>" +
"</caption>"
},
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<caption><span>Methods</span><span class=\"tabEnd\"> </span>" +
"</caption>"
},
- {BUG_ID + "/pkg1/D.html",
+ { "pkg1/D.html",
"<caption><span>Methods</span><span class=\"tabEnd\"> </span>" +
"</caption>"
},
@@ -119,21 +116,7 @@
*/
public static void main(String[] args) {
TestMethodTypes tester = new TestMethodTypes();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testModifier/TestModifier.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testModifier/TestModifier.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,9 +35,6 @@
public class TestModifier extends JavadocTester {
- private static final String BUG_ID = "4210388";
- private static final String[][] TEST = NO_TEST;
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
"-sourcepath", SRC_DIR,
@@ -50,22 +47,8 @@
*/
public static void main(String[] args) {
TestModifier tester = new TestModifier();
- if (run(tester, ARGS, TEST, NEGATED_TEST) != 0) {
+ if (tester.run(ARGS, NO_TEST, NO_TEST) != 0) {
throw new Error("Javadoc error occured during execution.");
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,38 +34,34 @@
public class TestNavigation extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4131628-4664607";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/A.html", "<li>Prev Class</li>"},
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html", "<li>Prev Class</li>"},
+ { "pkg/A.html",
"<a href=\"../pkg/C.html\" title=\"class in pkg\"><span class=\"typeNameLink\">Next Class</span></a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/A.html\" title=\"annotation in pkg\"><span class=\"typeNameLink\">Prev Class</span></a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/E.html\" title=\"enum in pkg\"><span class=\"typeNameLink\">Next Class</span></a>"},
- {BUG_ID + "/pkg/E.html",
+ { "pkg/E.html",
"<a href=\"../pkg/C.html\" title=\"class in pkg\"><span class=\"typeNameLink\">Prev Class</span></a>"},
- {BUG_ID + "/pkg/E.html",
+ { "pkg/E.html",
"<a href=\"../pkg/I.html\" title=\"interface in pkg\"><span class=\"typeNameLink\">Next Class</span></a>"},
- {BUG_ID + "/pkg/I.html",
+ { "pkg/I.html",
"<a href=\"../pkg/E.html\" title=\"enum in pkg\"><span class=\"typeNameLink\">Prev Class</span></a>"},
- {BUG_ID + "/pkg/I.html", "<li>Next Class</li>"},
+ { "pkg/I.html", "<li>Next Class</li>"},
// Test for 4664607
- {BUG_ID + "/pkg/I.html",
+ { "pkg/I.html",
"<div class=\"skipNav\"><a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a></div>\n" +
"<a name=\"navbar.top.firstrow\">\n" +
"<!-- -->\n" +
"</a>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -73,21 +69,7 @@
*/
public static void main(String[] args) {
TestNavigation tester = new TestNavigation();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,24 +33,20 @@
public class TestNestedGenerics extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "6758050";
-
//Javadoc arguments.
private static final String[] ARGS = new String[]{
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/NestedGenerics.html",
+ { "pkg/NestedGenerics.html",
"<div class=\"block\">Contains <a " +
"href=\"../pkg/NestedGenerics.html#foo-java.util.Map-\"><code>foo" +
"(java.util.Map<A, java.util.Map<A, A>>)</code></a></div>"
}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -58,21 +54,7 @@
*/
public static void main(String[] args) {
TestNestedGenerics tester = new TestNestedGenerics();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testNestedInlineTag/TestNestedInlineTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testNestedInlineTag/TestNestedInlineTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -54,33 +54,31 @@
*/
public void method(){}
- private static final String BUG_ID = "no-bug-id";
private static final String[][] TEST = {
//Test nested inline tag in class description.
- {BUG_ID + "/TestNestedInlineTag.html",
+ { "TestNestedInlineTag.html",
"This should be green, underlined and bold (Class): <u><b><font color=\"green\">My test</font></b></u>"
},
//Test nested inline tag in field description.
- {BUG_ID + "/TestNestedInlineTag.html",
+ { "TestNestedInlineTag.html",
"This should be green, underlined and bold (Field): <u><b><font color=\"green\">My test</font></b></u>"
},
//Test nested inline tag in constructor description.
- {BUG_ID + "/TestNestedInlineTag.html",
+ { "TestNestedInlineTag.html",
"This should be green, underlined and bold (Constructor): <u><b><font color=\"green\">My test</font></b></u>"
},
//Test nested inline tag in method description.
- {BUG_ID + "/TestNestedInlineTag.html",
+ { "TestNestedInlineTag.html",
"This should be green, underlined and bold (Method): <u><b><font color=\"green\">My test</font></b></u>"
}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-taglet", "testtaglets.UnderlineTaglet",
"-taglet", "testtaglets.BoldTaglet",
"-taglet", "testtaglets.GreenTaglet",
@@ -93,21 +91,7 @@
*/
public static void main(String[] args) {
TestNestedInlineTag tester = new TestNestedInlineTag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testNewLanguageFeatures/TestNewLanguageFeatures.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,13 +35,9 @@
public class TestNewLanguageFeatures extends JavadocTester {
- //Test information.
- private static final String BUG_ID =
- "4789689-4905985-4927164-4827184-4993906";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-use", "-sourcepath", SRC_DIR,
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-use", "-sourcepath", SRC_DIR,
"pkg", "pkg1", "pkg2"
};
@@ -52,43 +48,43 @@
// ENUM TESTING
//=================================
//Make sure enum header is correct.
- {BUG_ID + "/pkg/Coin.html", "Enum Coin</h2>"},
+ { "pkg/Coin.html", "Enum Coin</h2>"},
//Make sure enum signature is correct.
- {BUG_ID + "/pkg/Coin.html", "<pre>public enum " +
+ { "pkg/Coin.html", "<pre>public enum " +
"<span class=\"typeNameLabel\">Coin</span>\n" +
"extends java.lang.Enum<<a href=\"../pkg/Coin.html\" " +
"title=\"enum in pkg\">Coin</a>></pre>"
},
//Check for enum constant section
- {BUG_ID + "/pkg/Coin.html", "<caption><span>Enum Constants" +
+ { "pkg/Coin.html", "<caption><span>Enum Constants" +
"</span><span class=\"tabEnd\"> </span></caption>"},
//Detail for enum constant
- {BUG_ID + "/pkg/Coin.html",
+ { "pkg/Coin.html",
"<span class=\"memberNameLink\"><a href=\"../pkg/Coin.html#Dime\">Dime</a></span>"},
//Automatically insert documentation for values() and valueOf().
- {BUG_ID + "/pkg/Coin.html",
+ { "pkg/Coin.html",
"Returns an array containing the constants of this enum type,"},
- {BUG_ID + "/pkg/Coin.html",
+ { "pkg/Coin.html",
"Returns the enum constant of this type with the specified name"},
- {BUG_ID + "/pkg/Coin.html", "for (Coin c : Coin.values())"},
- {BUG_ID + "/pkg/Coin.html",
+ { "pkg/Coin.html", "for (Coin c : Coin.values())"},
+ { "pkg/Coin.html",
"Overloaded valueOf() method has correct documentation."},
- {BUG_ID + "/pkg/Coin.html",
+ { "pkg/Coin.html",
"Overloaded values method has correct documentation."},
//=================================
// TYPE PARAMETER TESTING
//=================================
//Make sure the header is correct.
- {BUG_ID + "/pkg/TypeParameters.html",
+ { "pkg/TypeParameters.html",
"Class TypeParameters<E></h2>"},
//Check class type parameters section.
- {BUG_ID + "/pkg/TypeParameters.html",
+ { "pkg/TypeParameters.html",
"<dt><span class=\"paramLabel\">Type Parameters:</span></dt>\n" +
"<dd><code>E</code> - " +
"the type parameter for this class."},
//Type parameters in @see/@link
- {BUG_ID + "/pkg/TypeParameters.html",
+ { "pkg/TypeParameters.html",
"<dl>\n" +
"<dt><span class=\"seeLabel\">See Also:</span></dt>\n" +
"<dd>" +
@@ -96,28 +92,28 @@
"<code>TypeParameters</code></a></dd>\n" +
"</dl>"},
//Method that uses class type parameter.
- {BUG_ID + "/pkg/TypeParameters.html",
+ { "pkg/TypeParameters.html",
"(<a href=\"../pkg/TypeParameters.html\" title=\"type " +
"parameter in TypeParameters\">E</a> param)"},
//Method type parameter section.
- {BUG_ID + "/pkg/TypeParameters.html",
+ { "pkg/TypeParameters.html",
"<span class=\"paramLabel\">Type Parameters:</span></dt>\n" +
"<dd><code>T</code> - This is the first " +
"type parameter.</dd>\n" +
"<dd><code>V</code> - This is the second type " +
"parameter."},
//Signature of method with type parameters
- {BUG_ID + "/pkg/TypeParameters.html",
+ { "pkg/TypeParameters.html",
"public <T extends java.util.List,V> " +
"java.lang.String[] methodThatHasTypeParameters"},
//Wildcard testing.
- {BUG_ID + "/pkg/Wildcards.html",
+ { "pkg/Wildcards.html",
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a><? super java.lang.String> a"},
- {BUG_ID + "/pkg/Wildcards.html",
+ { "pkg/Wildcards.html",
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a><? extends java.lang.StringBuffer> b"},
- {BUG_ID + "/pkg/Wildcards.html",
+ { "pkg/Wildcards.html",
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a> c"},
//Bad type parameter warnings.
@@ -127,7 +123,7 @@
"\"<BadMethodTypeParam>\" is not a type parameter name."},
//Signature of subclass that has type parameters.
- {BUG_ID + "/pkg/TypeParameterSubClass.html",
+ { "pkg/TypeParameterSubClass.html",
"<pre>public class <span class=\"typeNameLabel\">TypeParameterSubClass<T extends " +
"java.lang.String></span>\n" +
"extends " +
@@ -136,20 +132,20 @@
//Interface generic parameter substitution
//Signature of subclass that has type parameters.
- {BUG_ID + "/pkg/TypeParameters.html",
+ { "pkg/TypeParameters.html",
"<dl>\n" +
"<dt>All Implemented Interfaces:</dt>\n" +
"<dd><a href=\"../pkg/SubInterface.html\" title=\"interface in pkg\">" +
"SubInterface</a><E>, <a href=\"../pkg/SuperInterface.html\" " +
"title=\"interface in pkg\">SuperInterface</a><E></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg/SuperInterface.html",
+ { "pkg/SuperInterface.html",
"<dl>\n" +
"<dt>All Known Subinterfaces:</dt>\n" +
"<dd><a href=\"../pkg/SubInterface.html\" title=\"interface in pkg\">" +
"SubInterface</a><V></dd>\n" +
"</dl>"},
- {BUG_ID + "/pkg/SubInterface.html",
+ { "pkg/SubInterface.html",
"<dl>\n" +
"<dt>All Superinterfaces:</dt>\n" +
"<dd><a href=\"../pkg/SuperInterface.html\" title=\"interface in pkg\">" +
@@ -159,10 +155,10 @@
//=================================
// VAR ARG TESTING
//=================================
- {BUG_ID + "/pkg/VarArgs.html", "(int... i)"},
- {BUG_ID + "/pkg/VarArgs.html", "(int[][]... i)"},
- {BUG_ID + "/pkg/VarArgs.html", "-int:A...-"},
- {BUG_ID + "/pkg/VarArgs.html",
+ { "pkg/VarArgs.html", "(int... i)"},
+ { "pkg/VarArgs.html", "(int[][]... i)"},
+ { "pkg/VarArgs.html", "-int:A...-"},
+ { "pkg/VarArgs.html",
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a>... t"},
@@ -170,7 +166,7 @@
// ANNOTATION TYPE TESTING
//=================================
//Make sure the summary links are correct.
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<li>Summary: </li>\n" +
"<li>Field | </li>\n" +
"<li><a href=\"#annotation.type.required.element.summary\">" +
@@ -178,26 +174,26 @@
"<li>" +
"<a href=\"#annotation.type.optional.element.summary\">Optional</a></li>"},
//Make sure the detail links are correct.
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<li>Detail: </li>\n" +
"<li>Field | </li>\n" +
"<li><a href=\"#annotation.type.element.detail\">Element</a></li>"},
//Make sure the heading is correct.
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"Annotation Type AnnotationType</h2>"},
//Make sure the signature is correct.
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"public @interface <span class=\"memberNameLabel\">AnnotationType</span>"},
//Make sure member summary headings are correct.
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<h3>Required Element Summary</h3>"},
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<h3>Optional Element Summary</h3>"},
//Make sure element detail heading is correct
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"Element Detail"},
//Make sure default annotation type value is printed when necessary.
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"<dl>\n" +
"<dt>Default:</dt>\n" +
"<dd>\"unknown\"</dd>\n" +
@@ -208,12 +204,12 @@
//=================================
//PACKAGE
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"<a href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>=\"Package Annotation\",\n" +
" <a href=\"../pkg/AnnotationType.html#required--\">required</a>=1994)"},
//CLASS
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>" +
@@ -225,7 +221,7 @@
"extends java.lang.Object</pre>"},
//FIELD
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>" +
@@ -235,7 +231,7 @@
"public int field</pre>"},
//CONSTRUCTOR
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>" +
@@ -245,7 +241,7 @@
"public AnnotationTypeUsage()</pre>"},
//METHOD
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<pre><a href=\"../pkg/AnnotationType.html\" " +
"title=\"annotation in pkg\">@AnnotationType</a>(" +
"<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>" +
@@ -255,7 +251,7 @@
"public void method()</pre>"},
//METHOD PARAMS
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<pre>public void methodWithParams(" +
"<a href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">" +
"@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional--\">" +
@@ -265,7 +261,7 @@
" int undocmented)</pre>"},
//CONSTRUCTOR PARAMS
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<pre>public AnnotationTypeUsage(<a " +
"href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">" +
"@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional--\">" +
@@ -279,59 +275,59 @@
//=================================
//Integer
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#d--\">d</a>=3.14,"},
//Double
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#d--\">d</a>=3.14,"},
//Boolean
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#b--\">b</a>=true,"},
//String
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#s--\">s</a>=\"sigh\","},
//Class
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#c--\">c</a>=<a href=\"../pkg2/Foo.html\" title=\"class in pkg2\">Foo.class</a>,"},
//Bounded Class
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#w--\">w</a>=<a href=\"../pkg/TypeParameterSubClass.html\" title=\"class in pkg\">TypeParameterSubClass.class</a>,"},
//Enum
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#e--\">e</a>=<a href=\"../pkg/Coin.html#Penny\">Penny</a>,"},
//Annotation Type
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#a--\">a</a>=<a href=\"../pkg/AnnotationType.html\" title=\"annotation in pkg\">@AnnotationType</a>(<a href=\"../pkg/AnnotationType.html#optional--\">optional</a>=\"foo\",<a href=\"../pkg/AnnotationType.html#required--\">required</a>=1994),"},
//String Array
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#sa--\">sa</a>={\"up\",\"down\"},"},
//Primitive
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<a href=\"../pkg1/A.html#primitiveClassTest--\">primitiveClassTest</a>=boolean.class,"},
//XXX: Add array test case after this if fixed:
//5020899: Incorrect internal representation of class-valued annotation elements
//Make sure that annotations are surrounded by <pre> and </pre>
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"<pre><a href=\"../pkg1/A.html\" title=\"annotation in pkg1\">@A</a>"},
- {BUG_ID + "/pkg1/B.html",
+ { "pkg1/B.html",
"public interface <span class=\"typeNameLabel\">B</span></pre>"},
//==============================================================
// Handle multiple bounds.
//==============================================================
- {BUG_ID + "/pkg/MultiTypeParameters.html",
+ { "pkg/MultiTypeParameters.html",
"public <T extends java.lang.Number & java.lang.Runnable> T foo(T t)"},
//==============================================================
@@ -339,79 +335,79 @@
//==============================================================
//ClassUseTest1: <T extends Foo & Foo2>
- {BUG_ID + "/pkg2/class-use/Foo.html",
+ { "pkg2/class-use/Foo.html",
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">" +
"Foo</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo.html",
+ { "pkg2/class-use/Foo.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest1.html\" " +
"title=\"class in pkg2\">ClassUseTest1</a><T extends " +
"<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo" +
"</a> & <a href=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">" +
"Foo2</a>></span></code> </td>"
},
- {BUG_ID + "/pkg2/class-use/Foo.html",
+ { "pkg2/class-use/Foo.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo.html\" title=\"class in " +
"pkg2\">Foo</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo.html",
+ { "pkg2/class-use/Foo.html",
"<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest1." +
"</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/" +
"ClassUseTest1.html#method-T-\">method</a></span>" +
"(T t)</code> </td>"
},
- {BUG_ID + "/pkg2/class-use/Foo.html",
+ { "pkg2/class-use/Foo.html",
"<caption><span>Fields in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">" +
"Foo</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo.html",
+ { "pkg2/class-use/Foo.html",
"td class=\"colFirst\"><code><a href=\"../../pkg2/" +
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a>" +
"<<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\"" +
">Foo</a>></code></td>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<caption><span>Fields in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> declared as <a href=\"../" +
"../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest" +
"</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<td class=\"colFirst\"><code><a href=\"../../pkg2/" +
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a><<a " +
"href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo</a" +
">></code></td>"
},
- {BUG_ID + "/pkg2/class-use/Foo2.html",
+ { "pkg2/class-use/Foo2.html",
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo2.html\" title=\"interface " +
"in pkg2\">Foo2</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo2.html",
+ { "pkg2/class-use/Foo2.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest1.html\" " +
"title=\"class in pkg2\">ClassUseTest1</a><T extends " +
"<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">Foo" +
"</a> & <a href=\"../../pkg2/Foo2.html\" title=\"interface in pkg2\">" +
"Foo2</a>></span></code> </td>"
},
- {BUG_ID + "/pkg2/class-use/Foo2.html",
+ { "pkg2/class-use/Foo2.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo2.html\" title=\"interface " +
"in pkg2\">Foo2</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo2.html",
+ { "pkg2/class-use/Foo2.html",
"<td class=\"colLast\"><span class=\"typeNameLabel\">" +
"ClassUseTest1.</span><code><span class=\"memberNameLink\"><a href=\"../../" +
"pkg2/ClassUseTest1.html#method-T-\">method</a></span>" +
@@ -419,53 +415,53 @@
},
//ClassUseTest2: <T extends ParamTest<Foo3>>
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
"in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest2.html\" " +
"title=\"class in pkg2\">ClassUseTest2</a><T extends " +
"<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
"ParamTest</a><<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
"Foo3</a>>></span></code> </td>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
"in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest2." +
"</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/" +
"ClassUseTest2.html#method-T-\">method</a></span>" +
"(T t)</code> </td>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<caption><span>Fields in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> declared as <a href=\"../" +
"../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest" +
"</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<td class=\"colFirst\"><code><a href=\"../../pkg2/" +
"ParamTest.html\" title=\"class in pkg2\">ParamTest</a>" +
"<<a href=\"../../pkg2/Foo.html\" title=\"class in pkg2\">" +
"Foo</a>></code></td>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest.html\" title=\"class " +
"in pkg2\">ParamTest</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest.html",
+ { "pkg2/class-use/ParamTest.html",
"<td class=\"colFirst\"><code><T extends <a href=\"../" +
"../pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest" +
"</a><<a href=\"../../pkg2/Foo3.html\" title=\"class in " +
@@ -475,40 +471,40 @@
"pkg2\">Foo3</a>></code></td>"
},
- {BUG_ID + "/pkg2/class-use/Foo3.html",
+ { "pkg2/class-use/Foo3.html",
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
"Foo3</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo3.html",
+ { "pkg2/class-use/Foo3.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest2.html\" " +
"title=\"class in pkg2\">ClassUseTest2</a><T extends " +
"<a href=\"../../pkg2/ParamTest.html\" title=\"class in pkg2\">" +
"ParamTest</a><<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">" +
"Foo3</a>>></span></code> </td>"
},
- {BUG_ID + "/pkg2/class-use/Foo3.html",
+ { "pkg2/class-use/Foo3.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo3.html\" title=\"class in " +
"pkg2\">Foo3</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo3.html",
+ { "pkg2/class-use/Foo3.html",
"<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest2." +
"</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/" +
"ClassUseTest2.html#method-T-\">method</a></span>" +
"(T t)</code> </td>"
},
- {BUG_ID + "/pkg2/class-use/Foo3.html",
+ { "pkg2/class-use/Foo3.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> that return types with " +
"arguments of type <a href=\"../../pkg2/Foo3.html\" title" +
"=\"class in pkg2\">Foo3</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo3.html",
+ { "pkg2/class-use/Foo3.html",
"<td class=\"colFirst\"><code><T extends <a href=\"../../" +
"pkg2/ParamTest.html\" title=\"class in pkg2\">ParamTest</a><" +
"<a href=\"../../pkg2/Foo3.html\" title=\"class in pkg2\">Foo3" +
@@ -518,14 +514,14 @@
},
//ClassUseTest3: <T extends ParamTest2<List<? extends Foo4>>>
- {BUG_ID + "/pkg2/class-use/ParamTest2.html",
+ { "pkg2/class-use/ParamTest2.html",
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
"in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest2.html",
+ { "pkg2/class-use/ParamTest2.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3.html\" " +
"title=\"class in pkg2\">ClassUseTest3</a><T extends " +
"<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
@@ -533,19 +529,19 @@
"<a href=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
"Foo4</a>>>></span></code> </td>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest2.html",
+ { "pkg2/class-use/ParamTest2.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/ParamTest2.html\" title=\"class " +
"in pkg2\">ParamTest2</a></span><span class=\"tabEnd\">" +
" </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest2.html",
+ { "pkg2/class-use/ParamTest2.html",
"<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest3" +
".</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3." +
"html#method-T-\">method</a></span>(T t)</code> </td>"
},
- {BUG_ID + "/pkg2/class-use/ParamTest2.html",
+ { "pkg2/class-use/ParamTest2.html",
"<td class=\"colFirst\"><code><T extends <a href=\"../" +
"../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
"ParamTest2</a><java.util.List<? extends <a href=\".." +
@@ -556,14 +552,14 @@
"class in pkg2\">Foo4</a>>></code></td>"
},
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<caption><span>Classes in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
"pkg2\">Foo4</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<td class=\"colLast\"><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3.html\" " +
"title=\"class in pkg2\">ClassUseTest3</a><T extends " +
"<a href=\"../../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
@@ -571,26 +567,26 @@
"<a href=\"../../pkg2/Foo4.html\" title=\"class in pkg2\">" +
"Foo4</a>>>></span></code> </td>"
},
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type parameters of " +
"type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
"pkg2\">Foo4</a></span><span class=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<td class=\"colLast\"><span class=\"typeNameLabel\">ClassUseTest3." +
"</span><code><span class=\"memberNameLink\"><a href=\"../../pkg2/ClassUseTest3." +
"html#method-T-\">method</a></span>(T t)</code>" +
" </td>"
},
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<caption><span>Methods in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> that return types with " +
"arguments of type <a href=\"../../pkg2/Foo4.html\" " +
"title=\"class in pkg2\">Foo4</a></span><span class=\"" +
"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<td class=\"colFirst\"><code><T extends <a href=\"../" +
"../pkg2/ParamTest2.html\" title=\"class in pkg2\">" +
"ParamTest2</a><java.util.List<? extends <a href=\".." +
@@ -602,7 +598,7 @@
},
//Type parameters in constructor and method args
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<caption><span>Method parameters in <a href=\"../../pkg2/" +
"package-summary.html\">pkg2</a> with type arguments of " +
"type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
@@ -623,7 +619,7 @@
"</tr>\n" +
"</tbody>"
},
- {BUG_ID + "/pkg2/class-use/Foo4.html",
+ { "pkg2/class-use/Foo4.html",
"<caption><span>Constructor parameters in <a href=\"../../" +
"pkg2/package-summary.html\">pkg2</a> with type arguments " +
"of type <a href=\"../../pkg2/Foo4.html\" title=\"class in " +
@@ -634,14 +630,14 @@
//=================================
// Annotatation Type Usage
//=================================
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"<caption><span>Packages with annotations of type <a href=\"" +
"../../pkg/AnnotationType.html\" title=\"annotation in pkg\">" +
"AnnotationType</a></span><span class=\"tabEnd\"> " +
"</span></caption>"
},
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"<caption><span>Classes in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"" +
@@ -649,7 +645,7 @@
"=\"tabEnd\"> </span></caption>"
},
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"<caption><span>Fields in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
@@ -657,7 +653,7 @@
" </span></caption>"
},
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"<caption><span>Methods in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
@@ -665,7 +661,7 @@
" </span></caption>"
},
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"<caption><span>Method parameters in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
@@ -673,7 +669,7 @@
" </span></caption>"
},
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"<caption><span>Constructors in <a href=\"../../pkg/" +
"package-summary.html\">pkg</a> with annotations of type " +
"<a href=\"../../pkg/AnnotationType.html\" title=\"annotation " +
@@ -681,7 +677,7 @@
" </span></caption>"
},
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"<caption><span>Constructor parameters in <a href=\"../../" +
"pkg/package-summary.html\">pkg</a> with annotations of " +
"type <a href=\"../../pkg/AnnotationType.html\" title=\"" +
@@ -692,14 +688,14 @@
//=================================
// TYPE PARAMETER IN INDEX
//=================================
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<span class=\"memberNameLink\"><a href=\"pkg2/Foo.html#method-java.util.Vector-\">" +
"method(Vector<Object>)</a></span>"
},
//=================================
// TYPE PARAMETER IN INDEX
//=================================
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<span class=\"memberNameLink\"><a href=\"pkg2/Foo.html#method-java.util.Vector-\">" +
"method(Vector<Object>)</a></span>"
},
@@ -709,12 +705,12 @@
// ENUM TESTING
//=================================
//NO constructor section
- {BUG_ID + "/pkg/Coin.html", "<h3>Constructor Summary</h3>"},
+ { "pkg/Coin.html", "<h3>Constructor Summary</h3>"},
//=================================
// TYPE PARAMETER TESTING
//=================================
//No type parameters in class frame.
- {BUG_ID + "/allclasses-frame.html",
+ { "allclasses-frame.html",
"<a href=\"../pkg/TypeParameters.html\" title=\"class in pkg\">" +
"TypeParameters</a><<a href=\"../pkg/TypeParameters.html\" " +
"title=\"type parameter in TypeParameters\">E</a>>"
@@ -725,25 +721,25 @@
//===============================================================
//CLASS
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Class Annotation\",\n" +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)\n" +
"public class <span class=\"typeNameLabel\">AnnotationTypeUsage</span></dt><dt>extends java.lang.Object</dt>"},
//FIELD
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Field Annotation\",\n" +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)\n" +
"public int <span class=\"memberNameLabel\">field</span>"},
//CONSTRUCTOR
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Constructor Annotation\",\n" +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)\n" +
"public <span class=\"typeNameLabel\">AnnotationTypeUsage</span>()"},
//METHOD
- {BUG_ID + "/pkg/AnnotationTypeUsage.html",
+ { "pkg/AnnotationTypeUsage.html",
"<a href=\"../pkg/AnnotationTypeUndocumented.html\" title=\"annotation in pkg\">@AnnotationTypeUndocumented</a>(<a href=\"../pkg/AnnotationType.html#optional\">optional</a>=\"Method Annotation\",\n" +
" <a href=\"../pkg/AnnotationType.html#required\">required</a>=1994)\n" +
"public void <span class=\"memberNameLabel\">method</span>()"},
@@ -763,21 +759,7 @@
*/
public static void main(String[] args) {
TestNewLanguageFeatures tester = new TestNewLanguageFeatures();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testNoPackagesFile/TestNoPackagesFile.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testNoPackagesFile/TestNoPackagesFile.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,12 +35,9 @@
public class TestNoPackagesFile extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4475679";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
SRC_DIR + "/C.java"
};
@@ -50,25 +47,11 @@
*/
public static void main(String[] args) {
TestNoPackagesFile tester = new TestNoPackagesFile();
- run(tester, ARGS, NO_TEST, NO_TEST);
- if ((new java.io.File(BUG_ID + "/packages.html")).exists()) {
+ tester.run(ARGS, NO_TEST, NO_TEST);
+ if ((new java.io.File(OUTPUT_DIR + "/packages.html")).exists()) {
throw new Error("Test Fails: packages file should not be " + "generated anymore.");
} else {
System.out.println("Test passes: packages.html not found.");
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testNonFrameWarning/TestNonFrameWarning.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testNonFrameWarning/TestNonFrameWarning.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,16 +33,15 @@
public class TestNonFrameWarning extends JavadocTester {
- private static final String BUG_ID = "7001086";
private static final String[][] TEST = {
- {BUG_ID + "/index.html",
+ { "index.html",
"<p>This document is designed to be viewed using the frames feature. " +
"If you see this message, you are using a non-frame-capable web client. " +
"Link to <a href=\"pkg/package-summary.html\">Non-frame version</a>.</p>"
}
};
private static final String[] ARGS = new String[]{
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
/**
@@ -51,21 +50,7 @@
*/
public static void main(String[] args) {
TestNonFrameWarning tester = new TestNonFrameWarning();
- run(tester, ARGS, TEST, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testNotifications/TestNotifications.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testNotifications/TestNotifications.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -36,12 +36,9 @@
public class TestNotifications extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4657239";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
private static final String[] ARGS2 = new String[] {
@@ -50,10 +47,10 @@
//Input for string search tests.
private static final String[][] TEST = {
- {NOTICE_OUTPUT, "Creating destination directory: \"4657239"}
+ {NOTICE_OUTPUT, "Creating destination directory: \"" + OUTPUT_DIR}
};
private static final String[][] NEGATED_TEST = {
- {NOTICE_OUTPUT, "Creating destination directory: \"4657239"}
+ {NOTICE_OUTPUT, "Creating destination directory: \"" + OUTPUT_DIR}
};
private static final String[][] NEGATED_TEST2 = {
@@ -67,26 +64,12 @@
public static void main(String[] args) {
TestNotifications tester = new TestNotifications();
// Notify that the destination directory must be created.
- run(tester, ARGS, TEST, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
// No need to notify that the destination must be created because
// it already exists.
- run(tester, ARGS, NO_TEST, NEGATED_TEST);
+ tester.run(ARGS, NO_TEST, NEGATED_TEST);
//Make sure classname is not include in javadoc usage message.
- run(tester, ARGS2, NO_TEST, NEGATED_TEST2);
+ tester.run(ARGS2, NO_TEST, NEGATED_TEST2);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testOptions/TestOptions.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testOptions/TestOptions.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,46 +33,27 @@
public class TestOptions extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4749567";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-header", "Test header", "-footer", "Test footer",
+ "-d", OUTPUT_DIR, "-header", "Test header", "-footer", "Test footer",
"-sourcepath", SRC_DIR, "pkg"
};
private static final String[][] TEST = {
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"<div class=\"aboutLanguage\">Test header</div>"},
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"<div class=\"aboutLanguage\">Test footer</div>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestOptions tester = new TestOptions();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testOverridenMethods/TestMultiInheritence.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,29 +35,26 @@
public class TestMultiInheritence extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4933335";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg3"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg3"
};
//Method foo() is inherited from BOTH I2 and I3
private static final String[][] TEST = {
- {BUG_ID + "/pkg3/I1.html",
+ { "pkg3/I1.html",
"Methods inherited from interface pkg3." +
"<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">" +
"I2</a>"},
- {BUG_ID + "/pkg3/I1.html",
+ { "pkg3/I1.html",
"Methods inherited from interface pkg3." +
"<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">" +
"I3</a>"},
- {BUG_ID + "/pkg3/I0.html",
+ { "pkg3/I0.html",
"Methods inherited from interface pkg3." +
"<a href=\"../pkg3/I2.html\" title=\"interface in pkg3\">" +
"I2</a>"},
- {BUG_ID + "/pkg3/I0.html",
+ { "pkg3/I0.html",
"Methods inherited from interface pkg3." +
"<a href=\"../pkg3/I3.html\" title=\"interface in pkg3\">" +
"I3</a>"},
@@ -66,11 +63,11 @@
//Method foo() is NOT inherited from I4 because it is overriden by
//I3.
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg3/I1.html",
+ { "pkg3/I1.html",
"Methods inherited from interface pkg3." +
"<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">" +
"I4</a>"},
- {BUG_ID + "/pkg3/I0.html",
+ { "pkg3/I0.html",
"Methods inherited from interface pkg3." +
"<a href=\"../pkg3/I4.html\" title=\"interface in pkg3\">" +
"I4</a>"},
@@ -82,21 +79,7 @@
*/
public static void main(String[] args) {
TestMultiInheritence tester = new TestMultiInheritence();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenMethodDocCopy.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,23 +35,19 @@
public class TestOverridenMethodDocCopy extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4368820";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1", "pkg2"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1", "pkg2"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<span class=\"descfrmTypeLabel\">Description copied from class: <code>" +
"<a href=\"../pkg1/BaseClass.html#overridenMethodWithDocsToCopy--\">" +
"BaseClass</a></code></span>"
}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -59,21 +55,7 @@
*/
public static void main(String[] args) {
TestOverridenMethodDocCopy tester = new TestOverridenMethodDocCopy();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethods.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,16 +35,14 @@
public class TestOverridenPrivateMethods extends JavadocTester {
- private static final String BUG_ID = "4634891";
-
private static final String[][] TEST = {
//The public method should be overriden
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod"},
//The public method in different package should be overriden
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod"}
};
@@ -53,29 +51,29 @@
//The package private method should be overriden since the base and sub class are in the same
//package. However, the link should not show up because the package private methods are not documented.
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod"},
//The private method in should not be overriden
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod"},
//The private method in different package should not be overriden
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod"},
//The package private method should not be overriden since the base and sub class are in
//different packages.
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"Overrides:</span></dt><dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod"}
};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1", "pkg2"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1", "pkg2"};
/**
* The entry point of the test.
@@ -83,21 +81,7 @@
*/
public static void main(String[] args) {
TestOverridenPrivateMethods tester = new TestOverridenPrivateMethods();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPackageFlag.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,18 +35,16 @@
public class TestOverridenPrivateMethodsWithPackageFlag extends JavadocTester {
- private static final String BUG_ID = "4634891";
-
private static final String[][] TEST = {
//The public method should be overriden
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">" +
"publicMethod</a></code> in class <code>" +
"<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>"},
//The public method in different package should be overriden
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod--\">" +
"publicMethod</a></code> in class <code>" +
@@ -54,7 +52,7 @@
//The package private method should be overriden since the base and sub class are in the same
//package.
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod--\">" +
"packagePrivateMethod</a></code> in class <code>" +
@@ -64,25 +62,25 @@
private static final String[][] NEGATED_TEST = {
//The private method in should not be overriden
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">"},
//The private method in different package should not be overriden
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod()\">"},
//The package private method should not be overriden since the base and sub class are in
//different packages.
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod()\">"},
};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-package", "pkg1", "pkg2"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-package", "pkg1", "pkg2"};
/**
* The entry point of the test.
@@ -90,21 +88,7 @@
*/
public static void main(String[] args) {
TestOverridenPrivateMethodsWithPackageFlag tester = new TestOverridenPrivateMethodsWithPackageFlag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testOverridenMethods/TestOverridenPrivateMethodsWithPrivateFlag.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,22 +35,20 @@
public class TestOverridenPrivateMethodsWithPrivateFlag extends JavadocTester {
- private static final String BUG_ID = "4634891";
-
private static final String[][] TEST = {
//The public method should be overriden
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod"},
//The package private method should be overriden since the base and sub class are in the same
//package.
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod"},
//The public method in different package should be overriden
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod"},
};
@@ -58,18 +56,18 @@
private static final String[][] NEGATED_TEST = {
//The private method in should not be overriden
- {BUG_ID + "/pkg1/SubClass.html",
+ { "pkg1/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod"},
//The private method in different package should not be overriden
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod"},
//The package private method should not be overriden since the base and sub class are in
//different packages.
- {BUG_ID + "/pkg2/SubClass.html",
+ { "pkg2/SubClass.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod"}
@@ -78,7 +76,7 @@
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-private", "pkg1", "pkg2"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-private", "pkg1", "pkg2"};
/**
* The entry point of the test.
@@ -86,21 +84,7 @@
*/
public static void main(String[] args) {
TestOverridenPrivateMethodsWithPrivateFlag tester = new TestOverridenPrivateMethodsWithPrivateFlag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testPackageDeprecation/TestPackageDeprecation.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,35 +33,30 @@
public class TestPackageDeprecation extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "6492694";
-
//Javadoc arguments.
private static final String[] ARGS1 = new String[]{
- "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR, "-use", "pkg", "pkg1",
+ "-d", OUTPUT_DIR + "-1", "-sourcepath", SRC_DIR, "-use", "pkg", "pkg1",
SRC_DIR + "/C2.java", SRC_DIR + "/FooDepr.java"
};
private static final String[] ARGS2 = new String[]{
- "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR, "-use", "-nodeprecated",
+ "-d", OUTPUT_DIR + "-2", "-sourcepath", SRC_DIR, "-use", "-nodeprecated",
"pkg", "pkg1", SRC_DIR + "/C2.java", SRC_DIR + "/FooDepr.java"
};
//Input for string search tests.
private static final String[][] TEST1 = {
- {BUG_ID + "-1/pkg1/package-summary.html",
+ { "pkg1/package-summary.html",
"<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated.</span>\n" +
"<div class=\"block\"><span class=\"deprecationComment\">This package is Deprecated." +
"</span></div>"
},
- {BUG_ID + "-1/deprecated-list.html",
+ { "deprecated-list.html",
"<li><a href=\"#package\">Deprecated Packages</a></li>"
}
};
- private static final String[][] TEST2 = NO_TEST;
- private static final String[][] NEGATED_TEST1 = NO_TEST;
private static final String[][] NEGATED_TEST2 = {
- {BUG_ID + "-2/overview-summary.html", "pkg1"},
- {BUG_ID + "-2/allclasses-frame.html", "FooDepr"}
+ { "overview-summary.html", "pkg1"},
+ { "allclasses-frame.html", "FooDepr"}
};
/**
@@ -70,16 +65,16 @@
*/
public static void main(String[] args) {
TestPackageDeprecation tester = new TestPackageDeprecation();
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
- if ((new java.io.File(BUG_ID + "-2/pkg1/" +
+ tester.run(ARGS1, TEST1, NO_TEST);
+ tester.run(ARGS2, NO_TEST, NEGATED_TEST2);
+ if ((new java.io.File(OUTPUT_DIR + "-2/pkg1/" +
"package-summary.html")).exists()) {
throw new Error("Test Fails: packages summary should not be" +
"generated for deprecated package.");
} else {
System.out.println("Test passes: package-summary.html not found.");
}
- if ((new java.io.File(BUG_ID + "-2/FooDepr.html")).exists()) {
+ if ((new java.io.File(OUTPUT_DIR + "-2/FooDepr.html")).exists()) {
throw new Error("Test Fails: FooDepr should not be" +
"generated as it is deprecated.");
} else {
@@ -87,18 +82,4 @@
}
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testPackagePage/TestPackagePage.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testPackagePage/TestPackagePage.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,51 +36,50 @@
public class TestPackagePage extends JavadocTester {
- private static final String BUG_ID = "4492643-4689286";
private static final String[][] TEST1 = {
- {BUG_ID + "-1/com/pkg/package-summary.html",
+ { "com/pkg/package-summary.html",
"This is a package page."
},
//With just one package, all general pages link to the single package page.
- {BUG_ID + "-1/com/pkg/C.html",
+ { "com/pkg/C.html",
"<a href=\"../../com/pkg/package-summary.html\">Package</a>"
},
- {BUG_ID + "-1/com/pkg/package-tree.html",
+ { "com/pkg/package-tree.html",
"<li><a href=\"../../com/pkg/package-summary.html\">Package</a></li>"
},
- {BUG_ID + "-1/deprecated-list.html",
+ { "deprecated-list.html",
"<li><a href=\"com/pkg/package-summary.html\">Package</a></li>"
},
- {BUG_ID + "-1/index-all.html",
+ { "index-all.html",
"<li><a href=\"com/pkg/package-summary.html\">Package</a></li>"
},
- {BUG_ID + "-1/help-doc.html",
+ { "help-doc.html",
"<li><a href=\"com/pkg/package-summary.html\">Package</a></li>"
},
};
private static final String[][] TEST2 = {
//With multiple packages, there is no package link in general pages.
- {BUG_ID + "-2/deprecated-list.html",
+ { "deprecated-list.html",
"<li>Package</li>"
},
- {BUG_ID + "-2/index-all.html",
+ { "index-all.html",
"<li>Package</li>"
},
- {BUG_ID + "-2/help-doc.html",
+ { "help-doc.html",
"<li>Package</li>"
},
};
private static final String[] ARGS1 =
new String[] {
- "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR + "-1", "-sourcepath", SRC_DIR,
SRC_DIR + "/com/pkg/C.java"
};
private static final String[] ARGS2 =
new String[] {
- "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR + "-2", "-sourcepath", SRC_DIR,
"com.pkg", "pkg2"
};
@@ -90,22 +89,8 @@
*/
public static void main(String[] args) {
TestPackagePage tester = new TestPackagePage();
- run(tester, ARGS1, TEST1, NO_TEST);
- run(tester, ARGS2, TEST2, NO_TEST);
+ tester.run(ARGS1, TEST1, NO_TEST);
+ tester.run(ARGS2, TEST2, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testParamTaglet/TestParamTaglet.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,24 +36,21 @@
public class TestParamTaglet extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4802275-4967243";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
//Regular param tags.
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<span class=\"paramLabel\">Parameters:</span></dt>\n" +
"<dd><code>param1</code> - testing 1 2 3.</dd>\n" +
"<dd><code>param2</code> - testing 1 2 3."
},
//Param tags that don't match with any real parameters.
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<span class=\"paramLabel\">Parameters:</span></dt>\n" +
"<dd><code><I>p1</I></code> - testing 1 2 3.</dd>\n" +
"<dd><code><I>p2</I></code> - testing 1 2 3."
@@ -62,12 +59,11 @@
// Param is printed with nothing inherited.
//XXX: in the future when Configuration is available during doc inheritence,
//print a warning for this mistake.
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<code><I>inheritBug</I></code> -"
},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -75,21 +71,7 @@
*/
public static void main(String[] args) {
TestParamTaglet tester = new TestParamTaglet();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testPrivateClasses/TestPrivateClasses.java Thu Apr 24 16:04:44 2014 -0700
@@ -44,46 +44,43 @@
public class TestPrivateClasses extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4780441-4874845-4978816-8014017";
-
//Javadoc arguments.
private static final String[] ARGS1 = new String[] {
- "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR, "pkg", "pkg2"
+ "-d", OUTPUT_DIR + "-1", "-sourcepath", SRC_DIR, "pkg", "pkg2"
};
private static final String[] ARGS2 = new String[] {
- "-d", BUG_ID + "-2", "-sourcepath", SRC_DIR, "-private",
+ "-d", OUTPUT_DIR + "-2", "-sourcepath", SRC_DIR, "-private",
"pkg", "pkg2"
};
// Test output when -private flag is not used.
private static final String[][] TEST1 = {
// Field inheritence from non-public superclass.
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<a href=\"../pkg/PublicChild.html#fieldInheritedFromParent\">" +
"fieldInheritedFromParent</a>"
},
// Method inheritence from non-public superclass.
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<a href=\"../pkg/PublicChild.html#methodInheritedFromParent-int-\">" +
"methodInheritedFromParent</a>"
},
// Field inheritence from non-public superinterface.
- {BUG_ID + "-1/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"<a href=\"../pkg/PublicInterface.html#fieldInheritedFromInterface\">" +
"fieldInheritedFromInterface</a>"
},
// Method inheritence from non-public superinterface.
- {BUG_ID + "-1/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"<a href=\"../pkg/PublicInterface.html#methodInterface-int-\">" +
"methodInterface</a>"
},
// private class does not show up in tree
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<ul class=\"inheritance\">\n" +
"<li>java.lang.Object</li>\n" +
"<li>\n" +
@@ -95,19 +92,19 @@
},
// Method is documented as though it is declared in the inheriting method.
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<pre>public void methodInheritedFromParent(int p1)"
},
//Make sure implemented interfaces from private superclass are inherited
- {BUG_ID + "-1/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"<dl>\n" +
"<dt>All Known Implementing Classes:</dt>\n" +
"<dd><a href=\"../pkg/PublicChild.html\" title=\"class in pkg\">" +
"PublicChild</a></dd>\n" +
"</dl>"},
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<dl>\n" +
"<dt>All Implemented Interfaces:</dt>\n" +
"<dd><a href=\"../pkg/PublicInterface.html\" title=\"interface in pkg\">" +
@@ -115,111 +112,111 @@
"</dl>"},
//Generic interface method test.
- {BUG_ID + "-1/pkg2/C.html",
+ { "pkg2/C.html",
"This comment should get copied to the implementing class"},
};
private static final String[][] NEGATED_TEST1 = {
// Should not document that a method overrides method from private class.
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<span class=\"overrideSpecifyLabel\">Overrides:</span>"},
// Should not document that a method specified by private interface.
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<span class=\"overrideSpecifyLabel\">Specified by:</span>"},
- {BUG_ID + "-1/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"<span class=\"overrideSpecifyLabel\">Specified by:</span>"},
// Should not mention that any documentation was copied.
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"Description copied from"},
- {BUG_ID + "-1/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"Description copied from"},
// Don't extend private classes or interfaces
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"PrivateParent"},
- {BUG_ID + "-1/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"PrivateInterface"},
- {BUG_ID + "-1/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"PrivateInterface"},
- {BUG_ID + "-1/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"All Superinterfaces"},
// Make inherited constant are documented correctly.
- {BUG_ID + "-1/constant-values.html",
+ { "constant-values.html",
"PrivateInterface"},
//Do not inherit private interface method with generic parameters.
//This method has been implemented.
- {BUG_ID + "-1/pkg2/C.html",
+ { "pkg2/C.html",
"<span class=\"memberNameLink\"><a href=\"../pkg2/I.html#hello-T-\">hello</a></span>"},
};
// Test output when -private flag is used.
private static final String[][] TEST2 = {
// Field inheritence from non-public superclass.
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"Fields inherited from class pkg." +
"<a href=\"../pkg/PrivateParent.html\" title=\"class in pkg\">" +
"PrivateParent</a>"
},
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<a href=\"../pkg/PrivateParent.html#fieldInheritedFromParent\">" +
"fieldInheritedFromParent</a>"
},
// Field inheritence from non-public superinterface.
- {BUG_ID + "-2/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"Fields inherited from interface pkg." +
"<a href=\"../pkg/PrivateInterface.html\" title=\"interface in pkg\">" +
"PrivateInterface</a>"
},
- {BUG_ID + "-2/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"<a href=\"../pkg/PrivateInterface.html#fieldInheritedFromInterface\">" +
"fieldInheritedFromInterface</a>"
},
// Method inheritence from non-public superclass.
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"Methods inherited from class pkg." +
"<a href=\"../pkg/PrivateParent.html\" title=\"class in pkg\">" +
"PrivateParent</a>"
},
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<a href=\"../pkg/PrivateParent.html#methodInheritedFromParent-int-\">" +
"methodInheritedFromParent</a>"
},
// Should document that a method overrides method from private class.
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n" +
"<dd><code><a href=\"../pkg/PrivateParent.html#methodOverridenFromParent-char:A-int-T-V-java.util.List-\">" +
"methodOverridenFromParent</a></code> in class <code>" +
"<a href=\"../pkg/PrivateParent.html\" title=\"class in pkg\">" +
"PrivateParent</a></code></dd>"},
// Should document that a method is specified by private interface.
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n" +
"<dd><code><a href=\"../pkg/PrivateInterface.html#methodInterface-int-\">" +
"methodInterface</a></code> in interface <code>" +
"<a href=\"../pkg/PrivateInterface.html\" title=\"interface in pkg\">" +
"PrivateInterface</a></code></dd>"},
// Method inheritence from non-public superinterface.
- {BUG_ID + "-2/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"Methods inherited from interface pkg." +
"<a href=\"../pkg/PrivateInterface.html\" title=\"interface in pkg\">" +
"PrivateInterface</a>"
},
- {BUG_ID + "-2/pkg/PrivateInterface.html",
+ { "pkg/PrivateInterface.html",
"<a href=\"../pkg/PrivateInterface.html#methodInterface-int-\">" +
"methodInterface</a>"
},
// Should mention that any documentation was copied.
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"Description copied from"},
// Extend documented private classes or interfaces
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"extends"},
- {BUG_ID + "-2/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"extends"},
- {BUG_ID + "-2/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"All Superinterfaces"},
//Make sure implemented interfaces from private superclass are inherited
- {BUG_ID + "-2/pkg/PublicInterface.html",
+ { "pkg/PublicInterface.html",
"<dl>\n" +
"<dt>All Known Implementing Classes:</dt>\n" +
"<dd><a href=\"../pkg/PrivateParent.html\" title=\"class in pkg\">" +
@@ -228,7 +225,7 @@
"</a></dd>\n" +
"</dl>"},
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<dl>\n" +
"<dt>All Implemented Interfaces:</dt>\n" +
"<dd><a href=\"../pkg/PrivateInterface.html\" title=\"interface in pkg\">" +
@@ -239,11 +236,11 @@
//Since private flag is used, we can document that private interface method
//with generic parameters has been implemented.
- {BUG_ID + "-2/pkg2/C.html",
+ { "pkg2/C.html",
"<span class=\"descfrmTypeLabel\">Description copied from interface: <code>" +
"<a href=\"../pkg2/I.html#hello-T-\">I</a></code></span>"},
- {BUG_ID + "-2/pkg2/C.html",
+ { "pkg2/C.html",
"<dt><span class=\"overrideSpecifyLabel\">Specified by:</span></dt>\n" +
"<dd><code><a href=\"../pkg2/I.html#hello-T-\">hello</a></code>" +
" in interface <code>" +
@@ -252,14 +249,14 @@
//Make sure when no modifier appear in the class signature, the
//signature is displayed correctly without extra space at the beginning.
- {BUG_ID + "-2/pkg/PrivateParent.html",
+ { "pkg/PrivateParent.html",
"<pre>class <span class=\"typeNameLabel\">PrivateParent</span>"},
- {BUG_ID + "-2/pkg/PublicChild.html",
+ { "pkg/PublicChild.html",
"<pre>public class <span class=\"typeNameLabel\">PublicChild</span>"},
};
private static final String[][] NEGATED_TEST2 = {
- {BUG_ID + "-2/pkg/PrivateParent.html",
+ { "pkg/PrivateParent.html",
"<pre> class <span class=\"typeNameLabel\">PrivateParent</span>"},
};
@@ -269,22 +266,8 @@
*/
public static void main(String[] args) {
TestPrivateClasses tester = new TestPrivateClasses();
- run(tester, ARGS1, TEST1, NEGATED_TEST1);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS1, TEST1, NEGATED_TEST1);
+ tester.run(ARGS2, TEST2, NEGATED_TEST2);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testProfiles/TestProfiles.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testProfiles/TestProfiles.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,60 +33,59 @@
public class TestProfiles extends JavadocTester {
//Test information.
- private static final String BUG_ID = "8006124-8009684-8016921";
- private static final String PROFILE_BUG_ID = BUG_ID + "-1";
- private static final String PACKAGE_BUG_ID = BUG_ID + "-2";
+ private static final String PROFILE_OUTPUT_DIR = OUTPUT_DIR + "-1";
+ private static final String PACKAGE_OUTPUT_DIR = OUTPUT_DIR + "-2";
//Javadoc arguments.
private static final String[] ARGS1 = new String[]{
- "-d", PROFILE_BUG_ID, "-sourcepath", SRC_DIR, "-Xprofilespath",
+ "-d", PROFILE_OUTPUT_DIR, "-sourcepath", SRC_DIR, "-Xprofilespath",
SRC_DIR + "/profile-rtjar-includes.txt", "pkg1", "pkg2",
"pkg3", "pkg4", "pkg5", "pkgDeprecated"
};
private static final String[] ARGS2 = new String[]{
- "-d", PACKAGE_BUG_ID, "-sourcepath", SRC_DIR, "pkg1", "pkg2",
+ "-d", PACKAGE_OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1", "pkg2",
"pkg3", "pkg4", "pkg5"
};
//Input for string tests for profiles.
private static final String[][] PROFILES_TEST = {
// Tests for profile-overview-frame.html listing all profiles.
- {PROFILE_BUG_ID + "/profile-overview-frame.html",
+ { "profile-overview-frame.html",
"<span><a href=\"overview-frame.html\" "
+ "target=\"packageListFrame\">All Packages</a></span>"
},
- {PROFILE_BUG_ID + "/profile-overview-frame.html",
+ { "profile-overview-frame.html",
"<li><a href=\"compact1-frame.html\" target=\"packageListFrame\">"
+ "compact1</a></li>"
},
// Tests for profileName-frame.html listing all packages in a profile.
- {PROFILE_BUG_ID + "/compact2-frame.html",
+ { "compact2-frame.html",
"<span><a href=\"overview-frame.html\" target=\"packageListFrame\">"
+ "All Packages</a></span><span><a href=\"profile-overview-frame.html\" "
+ "target=\"packageListFrame\">All Profiles</a></span>"
},
- {PROFILE_BUG_ID + "/compact2-frame.html",
+ { "compact2-frame.html",
"<li><a href=\"pkg4/compact2-package-frame.html\" "
+ "target=\"packageFrame\">pkg4</a></li>"
},
// Test for profileName-package-frame.html listing all types in a
// package of a profile.
- {PROFILE_BUG_ID + "/pkg2/compact2-package-frame.html",
+ { "pkg2/compact2-package-frame.html",
"<a href=\"../compact2-summary.html\" target=\"classFrame\">"
+ "compact2</a> - <a href=\"../pkg2/compact2-package-summary.html\" "
+ "target=\"classFrame\">pkg2</a>"
},
// Tests for profileName-summary.html listing the summary for a profile.
- {PROFILE_BUG_ID + "/compact2-summary.html",
+ { "compact2-summary.html",
"<li><a href=\"compact1-summary.html\">Prev Profile</a></li>\n"
+ "<li><a href=\"compact3-summary.html\">Next Profile</a></li>"
},
- {PROFILE_BUG_ID + "/compact2-summary.html",
+ { "compact2-summary.html",
"<h1 title=\"Profile\" class=\"title\">Profile compact2</h1>"
},
- {PROFILE_BUG_ID + "/compact2-summary.html",
+ { "compact2-summary.html",
"<h3><a href=\"pkg2/compact2-package-summary.html\" "
+ "target=\"classFrame\">pkg2</a></h3>"
},
- {PROFILE_BUG_ID + "/compact2-summary.html",
+ { "compact2-summary.html",
"<ul class=\"blockList\">\n" +
"<li class=\"blockList\">\n"
+ "<h3><a href=\"pkg2/compact2-package-summary.html\" target=\"classFrame\">"
@@ -95,7 +94,7 @@
+ "cellpadding=\"3\" cellspacing=\"0\" summary=\"Class Summary table, "
+ "listing classes, and an explanation\">"
},
- {PROFILE_BUG_ID + "/compact2-summary.html",
+ { "compact2-summary.html",
"<ul class=\"blockList\">\n" +
"<li class=\"blockList\">\n"
+ "<h3><a href=\"pkg4/compact2-package-summary.html\" target=\"classFrame\">"
@@ -106,14 +105,14 @@
},
// Tests for profileName-package-summary.html listing the summary for a
// package in a profile.
- {PROFILE_BUG_ID + "/pkg5/compact3-package-summary.html",
+ { "pkg5/compact3-package-summary.html",
"<li><a href=\"../pkg4/compact3-package-summary.html\">Prev Package"
+ "</a></li>"
},
- {PROFILE_BUG_ID + "/pkg5/compact3-package-summary.html",
+ { "pkg5/compact3-package-summary.html",
"<div class=\"subTitle\">compact3</div>"
},
- {PROFILE_BUG_ID + "/pkg5/compact3-package-summary.html",
+ { "pkg5/compact3-package-summary.html",
"<ul class=\"blockList\">\n" +
"<li class=\"blockList\">\n"
+ "<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\" "
@@ -121,20 +120,20 @@
+ "interfaces, and an explanation\">"
},
//Test for "overview-frame.html" showing the "All Profiles" link.
- {PROFILE_BUG_ID + "/overview-frame.html",
+ { "overview-frame.html",
"<span><a href=\"profile-overview-frame.html\" "
+ "target=\"packageListFrame\">All Profiles</a></span>"
},
//Test for "className.html" showing the profile information for the type.
- {PROFILE_BUG_ID + "/pkg2/Class1Pkg2.html",
+ { "pkg2/Class1Pkg2.html",
"<div class=\"subTitle\">compact1, compact2, compact3</div>"
},
- {PROFILE_BUG_ID + "/index.html",
+ { "index.html",
"<frame src=\"overview-frame.html\" name=\"packageListFrame\" " +
"title=\"All Packages\">"
},
//Test for "overview-summary.html" showing the profile list.
- {PROFILE_BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<ul>\n" +
"<li><a href=\"compact1-summary.html\" target=\"classFrame\">" +
"compact1</a></li>\n" +
@@ -145,28 +144,28 @@
"</ul>"
},
//Test deprecated class in profiles
- {PROFILE_BUG_ID + "/compact1-summary.html","<td class=\"colFirst\">"
- + "<a href=\"pkg2/Class1Pkg2.html\" title=\"class in pkg2\">Class1Pkg2</a></td>\n"
+ { "compact1-summary.html",
+ "<td class=\"colFirst\"><a href=\"pkg2/Class1Pkg2.html\" title=\"class in pkg2\">Class1Pkg2</a></td>\n"
+ "<td class=\"colLast\">Deprecated"
},
- {PROFILE_BUG_ID + "/deprecated-list.html","<td class=\"colOne\">"
- + "<a href=\"pkg2/Class1Pkg2.html\" title=\"class in pkg2\">pkg2.Class1Pkg2</a>\n"
+ { "deprecated-list.html",
+ "<td class=\"colOne\"><a href=\"pkg2/Class1Pkg2.html\" title=\"class in pkg2\">pkg2.Class1Pkg2</a>\n"
+"<div class=\"block\"><span class=\"deprecationComment\">Class1Pkg2. This class is deprecated</span></div>"
},
//Test deprecated package in profile
- {PROFILE_BUG_ID + "/deprecated-list.html","<td class=\"colOne\">"
- + "<a href=\"pkgDeprecated/package-summary.html\">pkgDeprecated</a>\n"
+ { "deprecated-list.html",
+ "<td class=\"colOne\"><a href=\"pkgDeprecated/package-summary.html\">pkgDeprecated</a>\n"
+"<div class=\"block\"><span class=\"deprecationComment\">This package is <b>Deprecated</b>."
+ " Use pkg1.</span></div>"
},
- {PROFILE_BUG_ID + "/pkgDeprecated/package-summary.html",
+ { "pkgDeprecated/package-summary.html",
"<div class=\"deprecatedContent\"><span class=\"deprecatedLabel\">Deprecated.</span>\n"
+ "<div class=\"block\"><span class=\"deprecationComment\">This package is <b>Deprecated</b>."
+ " Use pkg1.</span></div>"
},
// need to add teststring when JDK-8015496 will be fixed
//Test exception in profiles
- {PROFILE_BUG_ID + "/compact1-summary.html",
+ { "compact1-summary.html",
"<table class=\"typeSummary\" "
+ "border=\"0\" cellpadding=\"3\" cellspacing=\"0\" "
+ "summary=\"Exception Summary table, listing exceptions, and an explanation\">\n"
@@ -184,7 +183,7 @@
+ " title=\"class in pkg2\">ClassException</a></td>"
},
//Test errors in profiles
- {PROFILE_BUG_ID + "/compact1-summary.html",
+ { "compact1-summary.html",
"<table class=\"typeSummary\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" "
+ "summary=\"Error Summary table, listing errors, and an explanation\">\n"
+ "<caption><span>Error Summary</span><span class=\"tabEnd\"> "
@@ -202,19 +201,19 @@
}
};
private static final String[][] PROFILES_NEGATED_TEST = {
- {PROFILE_BUG_ID + "/pkg3/Class2Pkg3.html",
+ { "pkg3/Class2Pkg3.html",
"<div class=\"subTitle\">compact1"
},
- {PROFILE_BUG_ID + "/pkg3/Interface1Pkg3.html",
+ { "pkg3/Interface1Pkg3.html",
"<div class=\"subTitle\">compact1"
},
- {PROFILE_BUG_ID + "/pkg4/compact2-package-frame.html",
+ { "pkg4/compact2-package-frame.html",
"<li><a href=\"Anno1Pkg4.html\" title=\"annotation in pkg4\" "
+ "target=\"classFrame\">Anno1Pkg4</a></li>"
},
- {PROFILE_BUG_ID + "/compact1-summary.html","<li>Use</li>"
+ { "compact1-summary.html","<li>Use</li>"
},
- {PROFILE_BUG_ID + "/compact2-summary.html",
+ { "compact2-summary.html",
"<ul class=\"blockList\">\n" +
"<li class=\"blockList\">\n"
+ "<h3><a href=\"pkg2/compact2-package-summary.html\" target=\"classFrame\">"
@@ -224,7 +223,7 @@
+ "cellpadding=\"3\" cellspacing=\"0\" summary=\"Class Summary table, "
+ "listing classes, and an explanation\">"
},
- {PROFILE_BUG_ID + "/pkg5/compact3-package-summary.html",
+ { "pkg5/compact3-package-summary.html",
"<ul class=\"blockList\">\n" +
"<li class=\"blockList\">\n"
+ "<li class=\"blockList\">\n"
@@ -234,14 +233,14 @@
}
};
private static final String[][] PACKAGES_TEST = {
- {PACKAGE_BUG_ID + "/overview-frame.html",
+ { "overview-frame.html",
"<h2 title=\"Packages\">Packages</h2>"
},
- {PACKAGE_BUG_ID + "/pkg4/package-frame.html",
+ { "pkg4/package-frame.html",
"<h1 class=\"bar\"><a href=\"../pkg4/package-summary.html\" "
+ "target=\"classFrame\">pkg4</a></h1>"
},
- {PACKAGE_BUG_ID + "/pkg4/package-summary.html",
+ { "pkg4/package-summary.html",
"<div class=\"header\">\n" +
"<h1 title=\"Package\" "
+ "class=\"title\">Package pkg4</h1>\n" +
@@ -249,14 +248,14 @@
}
};
private static final String[][] PACKAGES_NEGATED_TEST = {
- {PACKAGE_BUG_ID + "/overview-frame.html",
+ { "overview-frame.html",
"<span><a href=\"profile-overview-frame.html\" "
+ "target=\"packageListFrame\">All Profiles</a></span>"
},
- {PACKAGE_BUG_ID + "/pkg2/Class1Pkg2.html",
+ { "pkg2/Class1Pkg2.html",
"<div class=\"subTitle\">compact1, compact2, compact3</div>"
},
- {PACKAGE_BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<ul>\n" +
"<li><a href=\"compact1-summary.html\" target=\"classFrame\">" +
"compact1</a></li>\n" +
@@ -268,11 +267,11 @@
}
};
private static final String[] PACKAGES_NEGATED_FILE_TEST = {
- PACKAGE_BUG_ID + "/profile-overview-frame.html",
- PACKAGE_BUG_ID + "/compact2-frame.html",
- PACKAGE_BUG_ID + "/pkg2/compact2-package-frame.html",
- PACKAGE_BUG_ID + "/compact2-summary.html",
- PACKAGE_BUG_ID + "/pkg5/compact3-package-summary.html"
+ "profile-overview-frame.html",
+ "compact2-frame.html",
+ "pkg2/compact2-package-frame.html",
+ "compact2-summary.html",
+ "pkg5/compact3-package-summary.html"
};
/**
@@ -282,22 +281,8 @@
*/
public static void main(String[] args) {
TestProfiles tester = new TestProfiles();
- run(tester, ARGS1, PROFILES_TEST, PROFILES_NEGATED_TEST);
- run(tester, ARGS2, PACKAGES_TEST, PACKAGES_NEGATED_TEST, NO_FILE_TEST, PACKAGES_NEGATED_FILE_TEST);
+ tester.run(ARGS1, PROFILES_TEST, PROFILES_NEGATED_TEST);
+ tester.run(ARGS2, PACKAGES_TEST, PACKAGES_NEGATED_TEST, NO_FILE_TEST, PACKAGES_NEGATED_FILE_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testProfiles/TestProfilesConfiguration.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testProfiles/TestProfilesConfiguration.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,26 +33,25 @@
public class TestProfilesConfiguration extends JavadocTester {
//Test information.
- private static final String BUG_ID = "8006124-8009684";
- private static final String PROFILE_CONFIGURATION_BUG_ID = BUG_ID + "-3";
- private static final String NODEPR_NOPKGS_BUG_ID = BUG_ID + "-4";
+ private static final String PROFILE_CONFIGURATION_OUTPUT_DIR = OUTPUT_DIR + "-3";
+ private static final String NODEPR_NOPKGS_OUTPUT_DIR = OUTPUT_DIR + "-4";
//Javadoc arguments.
private static final String[] ARGS3 = new String[]{
- "-d", PROFILE_CONFIGURATION_BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", PROFILE_CONFIGURATION_OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-nocomment", "-keywords", "-Xprofilespath", SRC_DIR +
"/profile-rtjar-includes.txt", "-doctitle", "Simple doctitle",
"-use", "pkg3", "pkg1", "pkg2", "pkg4",
"pkg5", "-packagesheader", "Simple packages header","pkgDeprecated"
};
private static final String[] ARGS4 = new String[]{
- "-d", NODEPR_NOPKGS_BUG_ID, "-sourcepath", SRC_DIR, "-nocomment",
+ "-d", NODEPR_NOPKGS_OUTPUT_DIR, "-sourcepath", SRC_DIR, "-nocomment",
"-nodeprecated", "-keywords", "-Xprofilespath", SRC_DIR +
"/profile-rtjar-includes-nopkgs.txt", "-doctitle", "Simple doctitle",
"-use", "-packagesheader", "Simple packages header",
"pkg1", "pkg2", "pkg3", "pkg4", "pkg5", "pkgDeprecated"
};
private static final String[][] NODEPR_NOPKGS_TEST = {
- {NODEPR_NOPKGS_BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<ul>\n" +
"<li><a href=\"compact2-summary.html\" target=\"classFrame\">" +
"compact2</a></li>\n" +
@@ -60,7 +59,7 @@
"classFrame\">compact3</a></li>\n" +
"</ul>"
},
- {NODEPR_NOPKGS_BUG_ID + "/profile-overview-frame.html",
+ { "profile-overview-frame.html",
"<ul title=\"Profiles\">\n" +
"<li><a href=\"compact2-frame.html\" target=\"packageListFrame\">" +
"compact2</a></li>\n" +
@@ -70,30 +69,30 @@
}
};
private static final String[][] NODEPR_NOPKGS_NEGATED_TEST = {
- {NODEPR_NOPKGS_BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"compact1"
}
};
private static final String[][] PROFILES_CONFIGURATION_TEST = {
//-use option test string fo profile view page
- {PROFILE_CONFIGURATION_BUG_ID + "/compact1-summary.html","<li>Use</li>"
+ { "compact1-summary.html","<li>Use</li>"
},
//-doctitle option test string
- {PROFILE_CONFIGURATION_BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<div class=\"header\">\n" +
"<h1 class=\"title\">Simple doctitle</h1>"
},
//-packagesheader option test string fo profiles
- {PROFILE_CONFIGURATION_BUG_ID + "/profile-overview-frame.html",
+ { "profile-overview-frame.html",
"<h1 title=\"Simple packages header\" class=\"bar\">Simple packages header</h1>"
},
//-keywords option test string for profiles
- {PROFILE_CONFIGURATION_BUG_ID + "/compact1-summary.html",
+ { "compact1-summary.html",
"<meta name=\"keywords\" content=\"compact1 profile\">"
},
//Deprecated information on a package
- {PROFILE_CONFIGURATION_BUG_ID + "/compact1-summary.html",
+ { "compact1-summary.html",
"<h3><a href=\"pkgDeprecated/compact1-package-summary.html\" target=\"" +
"classFrame\">pkgDeprecated</a></h3>\n" +
"<div class=\"deprecatedContent\">" +
@@ -102,7 +101,7 @@
};
private static final String[][] PROFILES_CONFIGURATION_NEGATED_TEST = {
//-nocomments option test string
- {PROFILE_CONFIGURATION_BUG_ID + "/compact1-summary.html",
+ { "compact1-summary.html",
"<div class=\"block\"><i>Class1Pkg2.</i></div>"
}
};
@@ -114,24 +113,10 @@
*/
public static void main(String[] args) {
TestProfilesConfiguration tester = new TestProfilesConfiguration();
- run(tester, ARGS3, PROFILES_CONFIGURATION_TEST,
+ tester.run(ARGS3, PROFILES_CONFIGURATION_TEST,
PROFILES_CONFIGURATION_NEGATED_TEST);
- run(tester, ARGS4, NODEPR_NOPKGS_TEST,
+ tester.run(ARGS4, NODEPR_NOPKGS_TEST,
NODEPR_NOPKGS_NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testRecurseSubPackages/TestRecurseSubPackages.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testRecurseSubPackages/TestRecurseSubPackages.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,10 +34,9 @@
public class TestRecurseSubPackages extends JavadocTester {
- private static final String BUG_ID = "4074234";
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-subpackages", "pkg1", "-exclude", "pkg1.pkg2.packageToExclude"
};
@@ -48,28 +47,14 @@
public static void main(String[] args) {
String[][] tests = new String[6][2];
for (int i = 0; i < tests.length; i++) {
- tests[i][0] = BUG_ID + "/allclasses-frame.html";
+ tests[i][0] = "allclasses-frame.html";
tests[i][1] = "C" + (i+1) + ".html";
}
String[][] negatedTests = new String[][] {
- {BUG_ID + "/allclasses-frame.html", "DummyClass.html"}
+ { "allclasses-frame.html", "DummyClass.html"}
};
TestRecurseSubPackages tester = new TestRecurseSubPackages();
- run(tester, ARGS, tests, negatedTests);
+ tester.run(ARGS, tests, negatedTests);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testRelativeLinks/TestRelativeLinks.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testRelativeLinks/TestRelativeLinks.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,27 +35,24 @@
public class TestRelativeLinks extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4460354-8014636";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-use", "-sourcepath", SRC_DIR, "pkg", "pkg2"
+ "-d", OUTPUT_DIR, "-use", "-sourcepath", SRC_DIR, "pkg", "pkg2"
};
//Input for string search tests.
private static final String[][] TEST = {
//These relative paths should stay relative because they appear
//in the right places.
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"relative-class-link.html\">relative class link</a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"relative-field-link.html\">relative field link</a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"relative-method-link.html\">relative method link</a>"},
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"<a href=\"relative-package-link.html\">relative package link</a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
" <a\n" +
" href=\"relative-multi-line-link.html\">relative-multi-line-link</a>."},
@@ -63,43 +60,40 @@
//places.
//INDEX PAGE
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"./pkg/relative-class-link.html\">relative class link</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"./pkg/relative-field-link.html\">relative field link</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"./pkg/relative-method-link.html\">relative method link</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"<a href=\"./pkg/relative-package-link.html\">relative package link</a>"},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
" <a\n" +
" href=\"./pkg/relative-multi-line-link.html\">relative-multi-line-link</a>."},
//PACKAGE USE
- {BUG_ID + "/pkg/package-use.html",
+ { "pkg/package-use.html",
"<a href=\"../pkg/relative-package-link.html\">relative package link</a>."},
- {BUG_ID + "/pkg/package-use.html",
+ { "pkg/package-use.html",
"<a href=\"../pkg/relative-class-link.html\">relative class link</a>"},
//CLASS_USE
- {BUG_ID + "/pkg/class-use/C.html",
+ { "pkg/class-use/C.html",
"<a href=\"../../pkg/relative-field-link.html\">relative field link</a>"},
- {BUG_ID + "/pkg/class-use/C.html",
+ { "pkg/class-use/C.html",
"<a href=\"../../pkg/relative-method-link.html\">relative method link</a>"},
- {BUG_ID + "/pkg/class-use/C.html",
+ { "pkg/class-use/C.html",
"<a href=\"../../pkg/relative-package-link.html\">relative package link</a>"},
- {BUG_ID + "/pkg/class-use/C.html",
+ { "pkg/class-use/C.html",
" <a\n" +
" href=\"../../pkg/relative-multi-line-link.html\">relative-multi-line-link</a>."},
//PACKAGE OVERVIEW
- {BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"<a href=\"./pkg/relative-package-link.html\">relative package link</a>"},
-
-
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -107,21 +101,7 @@
*/
public static void main(String[] args) {
TestRelativeLinks tester = new TestRelativeLinks();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testRepeatedAnnotations/TestRepeatedAnnotations.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,26 +34,25 @@
public class TestRepeatedAnnotations extends JavadocTester {
//Test information.
- private static final String BUG_ID = "8005092";
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg", "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg", "pkg1"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a> " +
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/ContaineeRegDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeRegDoc</a> " +
"<a href=\"../pkg/ContaineeRegDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeRegDoc</a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/RegContainerDoc.html\" " +
"title=\"annotation in pkg\">@RegContainerDoc</a>" +
"(<a href=\"../pkg/RegContainerDoc.html#value--\">value</a>={" +
@@ -61,41 +60,41 @@
"title=\"annotation in pkg\">@RegContaineeNotDoc</a>," +
"<a href=\"../pkg/RegContaineeNotDoc.html\" " +
"title=\"annotation in pkg\">@RegContaineeNotDoc</a>})"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a> " +
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a> " +
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/ContainerSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContainerSynthDoc</a>(" +
"<a href=\"../pkg/ContainerSynthDoc.html#value--\">value</a>=" +
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a>)"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a> " +
"<a href=\"../pkg/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg\">@ContaineeSynthDoc</a>"},
- {BUG_ID + "/pkg/D.html",
+ { "pkg/D.html",
"<a href=\"../pkg/RegDoc.html\" title=\"annotation in pkg\">@RegDoc</a>" +
"(<a href=\"../pkg/RegDoc.html#x--\">x</a>=1)"},
- {BUG_ID + "/pkg/D.html",
+ { "pkg/D.html",
"<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>" +
"(<a href=\"../pkg/RegArryDoc.html#y--\">y</a>=1)"},
- {BUG_ID + "/pkg/D.html",
+ { "pkg/D.html",
"<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>" +
"(<a href=\"../pkg/RegArryDoc.html#y--\">y</a>={1,2})"},
- {BUG_ID + "/pkg/D.html",
+ { "pkg/D.html",
"<a href=\"../pkg/NonSynthDocContainer.html\" " +
"title=\"annotation in pkg\">@NonSynthDocContainer</a>" +
"(<a href=\"../pkg/NonSynthDocContainer.html#value--\">value</a>=" +
"<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>)"},
- {BUG_ID + "/pkg1/C.html",
+ { "pkg1/C.html",
"<a href=\"../pkg1/RegContainerValDoc.html\" " +
"title=\"annotation in pkg1\">@RegContainerValDoc</a>" +
"(<a href=\"../pkg1/RegContainerValDoc.html#value--\">value</a>={" +
@@ -104,7 +103,7 @@
"<a href=\"../pkg1/RegContaineeNotDoc.html\" " +
"title=\"annotation in pkg1\">@RegContaineeNotDoc</a>}," +
"<a href=\"../pkg1/RegContainerValDoc.html#y--\">y</a>=3)"},
- {BUG_ID + "/pkg1/C.html",
+ { "pkg1/C.html",
"<a href=\"../pkg1/ContainerValDoc.html\" " +
"title=\"annotation in pkg1\">@ContainerValDoc</a>" +
"(<a href=\"../pkg1/ContainerValDoc.html#value--\">value</a>={" +
@@ -116,12 +115,12 @@
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/RegContaineeDoc.html\" " +
"title=\"annotation in pkg\">@RegContaineeDoc</a> " +
"<a href=\"../pkg/RegContaineeDoc.html\" " +
"title=\"annotation in pkg\">@RegContaineeDoc</a>"},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a href=\"../pkg/RegContainerNotDoc.html\" " +
"title=\"annotation in pkg\">@RegContainerNotDoc</a>" +
"(<a href=\"../pkg/RegContainerNotDoc.html#value--\">value</a>={" +
@@ -130,12 +129,12 @@
"<a href=\"../pkg/RegContaineeNotDoc.html\" " +
"title=\"annotation in pkg\">@RegContaineeNotDoc</a>})"},
- {BUG_ID + "/pkg1/C.html",
+ { "pkg1/C.html",
"<a href=\"../pkg1/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg1\">@ContaineeSynthDoc</a> " +
"<a href=\"../pkg1/ContaineeSynthDoc.html\" " +
"title=\"annotation in pkg1\">@ContaineeSynthDoc</a>"},
- {BUG_ID + "/pkg1/C.html",
+ { "pkg1/C.html",
"<a href=\"../pkg1/RegContainerValNotDoc.html\" " +
"title=\"annotation in pkg1\">@RegContainerValNotDoc</a>" +
"(<a href=\"../pkg1/RegContainerValNotDoc.html#value--\">value</a>={" +
@@ -144,7 +143,7 @@
"<a href=\"../pkg1/RegContaineeDoc.html\" " +
"title=\"annotation in pkg1\">@RegContaineeDoc</a>}," +
"<a href=\"../pkg1/RegContainerValNotDoc.html#y--\">y</a>=4)"},
- {BUG_ID + "/pkg1/C.html",
+ { "pkg1/C.html",
"<a href=\"../pkg1/ContainerValNotDoc.html\" " +
"title=\"annotation in pkg1\">@ContainerValNotDoc</a>" +
"(<a href=\"../pkg1/ContainerValNotDoc.html#value--\">value</a>={" +
@@ -153,7 +152,7 @@
"<a href=\"../pkg1/ContaineeNotDoc.html\" " +
"title=\"annotation in pkg1\">@ContaineeNotDoc</a>}," +
"<a href=\"../pkg1/ContainerValNotDoc.html#x--\">x</a>=2)"},
- {BUG_ID + "/pkg1/C.html",
+ { "pkg1/C.html",
"<a href=\"../pkg1/ContainerSynthNotDoc.html\" " +
"title=\"annotation in pkg1\">@ContainerSynthNotDoc</a>(" +
"<a href=\"../pkg1/ContainerSynthNotDoc.html#value--\">value</a>=" +
@@ -167,21 +166,7 @@
*/
public static void main(String[] args) {
TestRepeatedAnnotations tester = new TestRepeatedAnnotations();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testReturnTag/TestReturnTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testReturnTag/TestReturnTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,12 +34,9 @@
public class TestReturnTag extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4490068";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-sourcepath", SRC_DIR, SRC_DIR +
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, SRC_DIR +
"/TestReturnTag.java"
};
@@ -48,7 +45,6 @@
{WARNING_OUTPUT,
"warning - @return tag cannot be used in method with void return type."}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* Trigger warning message when return tag is used on a void method.
@@ -63,21 +59,7 @@
*/
public static void main(String[] args) {
TestReturnTag tester = new TestReturnTag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSeeTag/TestSeeTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSeeTag/TestSeeTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,10 +33,6 @@
public class TestSeeTag extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8017191";
- private static final String OUTPUT_DIR = BUG_ID;
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
"-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
@@ -44,12 +40,12 @@
//Input for string search tests.
private static final String[][] TEST = {
- { OUTPUT_DIR + "/pkg/Test.html",
+ { "pkg/Test.html",
"<code>List</code>"
}
};
private static final String[][] NEGATED_TEST = {
- { OUTPUT_DIR + "/pkg/Test.html",
+ { "pkg/Test.html",
"<code>List</code>"
}
};
@@ -60,21 +56,7 @@
*/
public static void main(String[] args) {
TestSeeTag tester = new TestSeeTag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSerialVersionUID/TestSerialVersionUID.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSerialVersionUID/TestSerialVersionUID.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,10 +35,6 @@
public class TestSerialVersionUID extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4525039";
- private static final String OUTPUT_DIR = "docs-" + BUG_ID;
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
"-d", OUTPUT_DIR,
@@ -47,9 +43,8 @@
//Input for string search tests.
private static final String[][] TEST = {
- {OUTPUT_DIR + "/serialized-form.html", "-111111111111111L"}
+ { "serialized-form.html", "-111111111111111L"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -57,21 +52,7 @@
*/
public static void main(String[] args) {
TestSerialVersionUID tester = new TestSerialVersionUID();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedForm/TestSerializedForm.java Thu Apr 24 16:04:44 2014 -0700
@@ -21,9 +21,6 @@
* questions.
*/
-import java.lang.*;
-import java.io.*;
-
/*
* @test
* @bug 4341304 4485668 4966728 8032066
@@ -41,82 +38,83 @@
* @run main TestSerializedForm
*/
-public class TestSerializedForm extends JavadocTester implements Serializable {
+import java.lang.*;
+import java.io.*;
- private static final String BUG_ID = "4341304-4485668-4966728";
+public class TestSerializedForm extends JavadocTester implements Serializable {
private static final String[][] TEST = {
- {BUG_ID + FS + "serialized-form.html",
+ { "serialized-form.html",
"protected java.lang.Object readResolve()"},
- {BUG_ID + FS + "serialized-form.html",
+ { "serialized-form.html",
"protected java.lang.Object writeReplace()"},
- {BUG_ID + FS + "serialized-form.html",
+ { "serialized-form.html",
"protected java.lang.Object readObjectNoData()"},
- {BUG_ID + FS + "serialized-form.html",
+ { "serialized-form.html",
"See Also"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " +
"extends java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class pkg1.PrivateIncludeInnerClass.PriInnerClass extends " +
"java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class pkg1.ProtectedInnerClass.ProInnerClass extends " +
"java.lang.Object implements Serializable</h3>"}
};
private static final String[][] TEST_PRIVATE = {
- {BUG_ID + "-1/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/NestedInnerClass.InnerClass.ProNestedInnerClass.html\" " +
"title=\"class in pkg1\">pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass</a> " +
"extends java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "-1/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/PrivateIncludeInnerClass.PriInnerClass.html\" title=\"class in pkg1\">" +
"pkg1.PrivateIncludeInnerClass.PriInnerClass</a> extends java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "-1/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/ProtectedInnerClass.ProInnerClass.html\" title=\"class in pkg1\">" +
"pkg1.ProtectedInnerClass.ProInnerClass</a> extends java.lang.Object implements Serializable</h3>"}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/NestedInnerClass.InnerClass.ProNestedInnerClass.html\" " +
"title=\"class in pkg1\">pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass</a> " +
"extends java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/PrivateInnerClass.PriInnerClass.html\" title=\"class in pkg1\">" +
"pkg1.PrivateInnerClass.PriInnerClass</a> extends java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/ProtectedInnerClass.ProInnerClass.html\" title=\"class in pkg1\">" +
"pkg1.ProtectedInnerClass.ProInnerClass</a> extends java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class pkg1.PublicExcludeInnerClass.PubInnerClass extends java.lang.Object implements " +
"Serializable</h3>"}
};
private static final String[][] NEGATED_TEST_PRIVATE = {
- {BUG_ID + "-1/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class pkg1.NestedInnerClass.InnerClass.ProNestedInnerClass " +
"extends java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "-1/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class pkg1.PrivateInnerClass.PriInnerClass extends " +
"java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "-1/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class pkg1.ProtectedInnerClass.ProInnerClass extends " +
"java.lang.Object implements Serializable</h3>"},
- {BUG_ID + "-1/serialized-form.html",
+ { "serialized-form.html",
"<h3>Class <a href=\"pkg1/PublicExcludeInnerClass.PubInnerClass.html\" " +
"title=\"class in pkg1\">pkg1.PublicExcludeInnerClass.PubInnerClass</a> " +
"extends java.lang.Object implements Serializable</h3>"}
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
SRC_DIR + "/TestSerializedForm.java", "pkg1"
};
private static final String[] ARGS_PRIVATE = new String[] {
- "-private", "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR,
+ "-private", "-d", OUTPUT_DIR + "-1", "-sourcepath", SRC_DIR,
SRC_DIR + "/TestSerializedForm.java", "pkg1"
};
@@ -132,26 +130,12 @@
*/
public static void main(String[] args) {
TestSerializedForm tester = new TestSerializedForm();
- run(tester, ARGS, TEST, NEGATED_TEST);
- run(tester, ARGS_PRIVATE, TEST_PRIVATE, NEGATED_TEST_PRIVATE);
+ tester.run(ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS_PRIVATE, TEST_PRIVATE, NEGATED_TEST_PRIVATE);
tester.printSummary();
}
/**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
-
- /**
* @param s ObjectInputStream.
* @throws IOException when there is an I/O error.
* @serial
--- a/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,12 +36,10 @@
public class TestSerializedFormDeprecationInfo extends JavadocTester {
- private static final String BUG_ID = "6802694";
-
// Test for normal run of javadoc. The serialized-form.html should
// display the inline comments, tags and deprecation information if any.
private static final String[][] TEST_CMNT_DEPR = {
- {BUG_ID + "/serialized-form.html", "<dl>\n" +
+ { "serialized-form.html", "<dl>\n" +
"<dt><span class=\"throwsLabel\">Throws:</span></dt>\n" +
"<dd><code>" +
"java.io.IOException</code></dd>\n" +
@@ -50,7 +48,7 @@
"<dd><a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>C1.setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" <span class=\"deprecationComment\">As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
@@ -66,7 +64,7 @@
"<dd><a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
"<code>C1.setUndecorated(boolean)</code></a></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" <span class=\"deprecationComment\">As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\">" +
@@ -78,7 +76,7 @@
"IOException</code></code></dd>\n" +
"<dd><code>java.io.IOException</code></dd>\n" +
"</dl>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">Deprecated.</span>" +
" </div>\n" +
"<div class=\"block\">" +
@@ -88,14 +86,14 @@
// not display the inline comments and tags but should display deprecation
// information if any.
private static final String[][] TEST_NOCMNT = {
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<pre>boolean undecorated</pre>\n" +
"<div class=\"block\"><span class=\"deprecatedLabel\">Deprecated.</span> <span class=\"deprecationComment\">" +
"As of JDK version 1.5, replaced by\n" +
" <a href=\"pkg1/C1.html#setUndecorated-boolean-\"><code>" +
"setUndecorated(boolean)</code></a>.</span></div>\n" +
"</li>"},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<span class=\"deprecatedLabel\">" +
"Deprecated.</span> <span class=\"deprecationComment\">As of JDK version" +
" 1.5, replaced by\n" +
@@ -117,19 +115,19 @@
private static final String[] ARGS1 =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS2 =
new String[] {
- "-d", BUG_ID, "-nocomment", "-sourcepath", SRC_DIR, "pkg1"};
+ "-d", OUTPUT_DIR, "-nocomment", "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS3 =
new String[] {
- "-d", BUG_ID, "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"};
+ "-d", OUTPUT_DIR, "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"};
private static final String[] ARGS4 =
new String[] {
- "-d", BUG_ID, "-nocomment", "-nodeprecated", "-sourcepath",
+ "-d", OUTPUT_DIR, "-nocomment", "-nodeprecated", "-sourcepath",
SRC_DIR, "pkg1"};
/**
@@ -138,24 +136,10 @@
*/
public static void main(String[] args) {
TestSerializedFormDeprecationInfo tester = new TestSerializedFormDeprecationInfo();
- run(tester, ARGS1, TEST_CMNT_DEPR, TEST_NOCMNT);
- run(tester, ARGS2, TEST_NOCMNT, TEST_CMNT_DEPR);
- run(tester, ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR);
- run(tester, ARGS4, TEST_NOCMNT_NODEPR, TEST_NODEPR);
+ tester.run(ARGS1, TEST_CMNT_DEPR, TEST_NOCMNT);
+ tester.run(ARGS2, TEST_NOCMNT, TEST_CMNT_DEPR);
+ tester.run(ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR);
+ tester.run(ARGS4, TEST_NOCMNT_NODEPR, TEST_NODEPR);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSimpleTag/TestSimpleTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSimpleTag/TestSimpleTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,22 +37,20 @@
public class TestSimpleTag extends JavadocTester {
- private static final String BUG_ID = "4695326-4750173-4920381";
-
private static final String[][] TEST =
new String[][] {
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<span class=\"simpleTagLabel\">Todo:</span>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<span class=\"simpleTagLabel\">EJB Beans:</span>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<span class=\"simpleTagLabel\">Regular Tag:</span>"},
- {"./" + BUG_ID + "/C.html",
+ { "C.html",
"<span class=\"simpleTagLabel\">Back-Slash-Tag:</span>"},
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-tag", "todo",
"-tag", "ejb\\:bean:a:EJB Beans:",
"-tag", "regular:a:Regular Tag:",
@@ -66,21 +64,7 @@
*/
public static void main(String[] args) {
TestSimpleTag tester = new TestSimpleTag();
- run(tester, ARGS, TEST, NO_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSimpleTagExclude/TestSimpleTagExclude.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSimpleTagExclude/TestSimpleTagExclude.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,13 +35,11 @@
public class TestSimpleTagExclude extends JavadocTester {
- private static final String BUG_ID = "4628181";
- private static final String[][] TEST = NO_TEST;
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/DummyClass.html", "todo"}
+ { "DummyClass.html", "todo"}
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-tag", "todo:X",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-tag", "todo:X",
SRC_DIR + "/DummyClass.java"
};
@@ -51,23 +49,9 @@
*/
public static void main(String[] args) {
TestSimpleTagExclude tester = new TestSimpleTagExclude();
- if (run(tester, ARGS, TEST, NEGATED_TEST) != 0) {
+ if (tester.run(ARGS, NO_TEST, NEGATED_TEST) != 0) {
throw new Error("Javadoc failed to execute.");
}
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSimpleTagInherit/TestSimpleTagInherit.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSimpleTagInherit/TestSimpleTagInherit.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,10 +32,6 @@
public class TestSimpleTagInherit extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8008768";
- private static final String OUTPUT_DIR = BUG_ID;
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
"-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
@@ -45,14 +41,13 @@
//Input for string search tests.
private static final String[][] TEST = {
- { BUG_ID + "/p/TestClass.html",
+ { "p/TestClass.html",
"<dt><span class=\"simpleTagLabel\"><em>Custom:</em></span></dt>\n" +
"<dd>doc for BaseClass class</dd>" },
- { BUG_ID + "/p/TestClass.html",
+ { "p/TestClass.html",
"<dt><span class=\"simpleTagLabel\"><em>Custom:</em></span></dt>\n" +
"<dd>doc for BaseClass method</dd>" }
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -60,21 +55,7 @@
*/
public static void main(String[] args) {
TestSimpleTagInherit tester = new TestSimpleTagInherit();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSinceTag/TestSinceTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSinceTag/TestSinceTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,26 +33,23 @@
public class TestSinceTag extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "7180906";
-
//Javadoc arguments.
private static final String[] ARGS1 = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"
};
private static final String[] ARGS2 = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-nosince", "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-nosince", "pkg1"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg1/C1.html",
+ { "pkg1/C1.html",
"<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" +
"<dd>JDK1.0</dd>"
},
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<dl>\n" +
"<dt><span class=\"simpleTagLabel\">Since:</span></dt>\n" +
"<dd>1.4</dd>"
@@ -65,22 +62,8 @@
*/
public static void main(String[] args) {
TestSinceTag tester = new TestSinceTag();
- run(tester, ARGS1, TEST, NO_TEST);
- run(tester, ARGS2, NO_TEST, TEST);
+ tester.run(ARGS1, TEST, NO_TEST);
+ tester.run(ARGS2, NO_TEST, TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSingleQuotedLink/TestSingleQuotedLink.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSingleQuotedLink/TestSingleQuotedLink.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,21 +32,20 @@
*/
public class TestSingleQuotedLink extends JavadocTester {
- private static final String BUG_ID = "6457406";
// We are testing the redirection algorithm with a known scenario when a writer is not forced to ignore it: "-use".
private static final String[][] TEST = {
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"<a href=\'http://download.oracle.com/javase/8/docs/technotes/guides/indexC2.html\'>"
}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg1/class-use/C1.html",
+ { "pkg1/class-use/C1.html",
"pkg1/\'http://download.oracle.com/javase/8/docs/technotes/guides/indexC2.html\'>"
}
};
private static final String[] ARGS =
new String[]{
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "pkg1"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-use", "pkg1"
};
/**
@@ -55,21 +54,7 @@
*/
public static void main(String[] args) {
TestSingleQuotedLink tester = new TestSingleQuotedLink();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSourceTab/TestSourceTab.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSourceTab/TestSourceTab.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,12 +37,9 @@
public class TestSourceTab extends JavadocTester {
- private static final String BUG_ID = "4510979";
private static final String TMP_SRC_DIR = "tmpSrc";
- private static final String OUTPUT_DIR1 = BUG_ID + "-tabLengthEight";
- private static final String OUTPUT_DIR2 = BUG_ID + "-tabLengthFour";
- private static final String[][] TEST = NO_TEST;
- private static final String[][] NEGATED_TEST = NO_TEST;
+ private static final String OUTPUT_DIR1 = OUTPUT_DIR + "-tabLengthEight";
+ private static final String OUTPUT_DIR2 = OUTPUT_DIR + "-tabLengthFour";
//Run Javadoc on a source file with that is indented with a single tab per line
private static final String[] ARGS1 =
@@ -61,14 +58,9 @@
};
//Files to diff
- private static final String[][] FILES_TO_DIFF = {
- {OUTPUT_DIR1 + "/src-html/C.html",
- OUTPUT_DIR2 + "/src-html/C.html"
- },
- {OUTPUT_DIR1 + "/C.html",
- OUTPUT_DIR2 + "/C.html"
- }
-
+ private static final String[] FILES_TO_DIFF = {
+ "src-html/C.html",
+ "C.html"
};
/**
@@ -77,9 +69,9 @@
*/
public static void main(String[] args) throws IOException {
TestSourceTab tester = new TestSourceTab();
- run(tester, ARGS1, TEST, NEGATED_TEST);
- run(tester, ARGS2, TEST, NEGATED_TEST);
- tester.runDiffs(FILES_TO_DIFF);
+ tester.run(ARGS1, NO_TEST, NO_TEST);
+ tester.run(ARGS2, NO_TEST, NO_TEST);
+ tester.runDiffs(OUTPUT_DIR1, OUTPUT_DIR2, FILES_TO_DIFF);
}
TestSourceTab() throws IOException {
@@ -121,18 +113,4 @@
out.close();
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testStylesheet/TestStylesheet.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testStylesheet/TestStylesheet.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,31 +33,28 @@
public class TestStylesheet extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4494033-7028815-7052425-8007338";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"/* Javadoc style sheet */"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"/*\n" +
"Overall document style\n" +
"*/"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"/*\n" +
"Heading styles\n" +
"*/"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"/*\n" +
"Navigation bar styles\n" +
"*/"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"body {\n" +
" background-color:#ffffff;\n" +
" color:#353833;\n" +
@@ -65,11 +62,11 @@
" font-size:14px;\n" +
" margin:0;\n" +
"}"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"ul {\n" +
" list-style-type:disc;\n" +
"}"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
".overviewSummary caption, .memberSummary caption, .typeSummary caption,\n" +
".useSummary caption, .constantsSummary caption, .deprecatedSummary caption {\n" +
" position:relative;\n" +
@@ -85,7 +82,7 @@
" margin:0px;\n" +
" white-space:pre;\n" +
"}"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
".overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,\n" +
".useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {\n" +
" white-space:nowrap;\n" +
@@ -99,7 +96,7 @@
" border: none;\n" +
" height:16px;\n" +
"}"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
".memberSummary caption span.activeTableTab span {\n" +
" white-space:nowrap;\n" +
" padding-top:5px;\n" +
@@ -111,7 +108,7 @@
" background-color:#F8981D;\n" +
" height:16px;\n" +
"}"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
".memberSummary caption span.tableTab span {\n" +
" white-space:nowrap;\n" +
" padding-top:5px;\n" +
@@ -123,7 +120,7 @@
" background-color:#4D7A97;\n" +
" height:16px;\n" +
"}"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
".memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {\n" +
" padding-top:0px;\n" +
" padding-left:0px;\n" +
@@ -132,16 +129,16 @@
" float:none;\n" +
" display:inline;\n" +
"}"},
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"@import url('resources/fonts/dejavu.css');"},
// Test whether a link to the stylesheet file is inserted properly
// in the class documentation.
- {BUG_ID + "/pkg/A.html",
+ { "pkg/A.html",
"<link rel=\"stylesheet\" type=\"text/css\" " +
"href=\"../stylesheet.css\" title=\"Style\">"}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/stylesheet.css",
+ { "stylesheet.css",
"* {\n" +
" margin:0;\n" +
" padding:0;\n" +
@@ -154,21 +151,7 @@
*/
public static void main(String[] args) {
TestStylesheet tester = new TestStylesheet();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSubTitle/TestSubTitle.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSubTitle/TestSubTitle.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,28 +34,27 @@
public class TestSubTitle extends JavadocTester {
- private static final String BUG_ID = "7010342";
private static final String[][] TEST = {
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"<div class=\"block\">This is the description of package pkg.</div>"
},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<div class=\"subTitle\">pkg</div>"
}
};
private static final String[][] NEG_TEST = {
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"<p class=\"subTitle\">\n" +
"<div class=\"block\">This is the " +
"description of package pkg.</div>\n" +
"</p>"
},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<p class=\"subTitle\">pkg</p>"
}
};
private static final String[] ARGS = new String[]{
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
/**
@@ -64,21 +63,7 @@
*/
public static void main(String[] args) {
TestSubTitle tester = new TestSubTitle();
- run(tester, ARGS, TEST, NEG_TEST);
+ tester.run(ARGS, TEST, NEG_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSummaryHeading/TestSummaryHeading.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,19 +36,15 @@
public class TestSummaryHeading extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4904036";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/C.html", "<h3>Method Summary</h3>"}
+ { "C.html", "<h3>Method Summary</h3>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -56,21 +52,7 @@
*/
public static void main(String[] args) {
TestSummaryHeading tester = new TestSummaryHeading();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSuperclassInSerialForm/TestSuperClassInSerialForm.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSuperclassInSerialForm/TestSuperClassInSerialForm.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,16 +35,13 @@
public class TestSuperClassInSerialForm extends JavadocTester {
- private static final String BUG_ID = "4671694";
-
private static final String[][] TEST = {
- {BUG_ID + "/serialized-form.html",
+ { "serialized-form.html",
"<a href=\"pkg/SubClass.html\" title=\"class in pkg\">pkg.SubClass</a> extends <a href=\"pkg/SuperClass.html\" title=\"class in pkg\">SuperClass</a>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
/**
@@ -53,21 +50,7 @@
*/
public static void main(String[] args) {
TestSuperClassInSerialForm tester = new TestSuperClassInSerialForm();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testSupplementary/TestSupplementary.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testSupplementary/TestSupplementary.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,7 +37,6 @@
public class TestSupplementary extends JavadocTester {
- private static final String BUG_ID = "4914724";
private static final String[][] TEST = {
{WARNING_OUTPUT, "C.java:38: warning - Tag @see:illegal character: \"119040\" in \"C#method\ud834\udd00()"},
{WARNING_OUTPUT, "C.java:44: warning - illegal character \ud801 in @serialField tag: field\ud801\ud801 int."},
@@ -50,7 +49,7 @@
{WARNING_OUTPUT, "C.java:31: warning - illegal character"},
};
private static final String[] ARGS = new String[] {
- "-locale", "en_US", "-d", BUG_ID, SRC_DIR + "/C.java"
+ "-locale", "en_US", "-d", OUTPUT_DIR, SRC_DIR + "/C.java"
};
/**
@@ -61,24 +60,10 @@
Locale saveLocale = Locale.getDefault();
try {
TestSupplementary tester = new TestSupplementary();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
} finally {
Locale.setDefault(saveLocale);
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testTagHolderMethod/TestTagHolderMethod.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTagHolderMethod/TestTagHolderMethod.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -21,8 +21,6 @@
* questions.
*/
-import com.sun.javadoc.*;
-
/*
* @test
* @bug 4706525
@@ -34,9 +32,10 @@
* @run main TestTagHolderMethod
*/
+import com.sun.javadoc.*;
+
public class TestTagHolderMethod extends JavadocTester {
- private static final String BUG_ID = "4706525";
public static final String[] ARGS = new String[] {
"-docletpath", SRC_DIR, "-doclet", "TestTagHolderMethod", "-sourcepath",
SRC_DIR, "pkg"};
@@ -74,20 +73,7 @@
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
- run(new TestTagHolderMethod(), ARGS, new String[][]{}, new String[][]{});
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
+ JavadocTester tester = new TestTagHolderMethod();
+ tester.run(ARGS, new String[][]{}, new String[][]{});
}
}
--- a/langtools/test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTagInheritence/TestTagInheritence.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,10 +34,8 @@
public class TestTagInheritence extends JavadocTester {
- private static final String BUG_ID =
- "4496223-4496270-4618686-4720974-4812240-6253614-6253604";
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg",
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg",
"firstSentence", "firstSentence2"
};
@@ -54,36 +52,20 @@
//Test valid usage of inheritDoc tag.
for (int i = 1; i < tests.length-2; i++) {
- tests[i][0] = BUG_ID + "/pkg/TestTagInheritence.html";
+ tests[i][0] = "pkg/TestTagInheritence.html";
tests[i][1] = "Test " + i + " passes";
}
//First sentence test (6253614)
- tests[tests.length - 2][0] =BUG_ID + "/firstSentence/" +
- "B.html";
+ tests[tests.length - 2][0] = "firstSentence/B.html";
tests[tests.length - 2][1] = "<div class=\"block\">First sentence.</div>";
//Another first sentence test (6253604)
- tests[tests.length - 1][0] =BUG_ID + "/firstSentence2/" +
- "C.html";
+ tests[tests.length - 1][0] = "firstSentence2/C.html";
tests[tests.length - 1][1] = "<div class=\"block\">First sentence.</div>";
TestTagInheritence tester = new TestTagInheritence();
- run(tester, ARGS, tests, NO_TEST);
+ tester.run(ARGS, tests, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTagMisuse/TestTagMisuse.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,16 +32,14 @@
*/
public class TestTagMisuse extends JavadocTester {
- private static final String BUG_ID = "no-bug-id";
private static final String[][] TEST = {
{WARNING_OUTPUT, "warning - Tag @param cannot be used in field documentation."},
{WARNING_OUTPUT, "warning - Tag @throws cannot be used in field documentation."},
{WARNING_OUTPUT, "warning - Tag @return cannot be used in constructor documentation."},
{WARNING_OUTPUT, "warning - Tag @throws cannot be used in inline documentation."},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, SRC_DIR + "/TestTagMisuse.java"
+ "-Xdoclint:none", "-d", OUTPUT_DIR, SRC_DIR + "/TestTagMisuse.java"
};
/**
@@ -50,25 +48,11 @@
*/
public static void main(String[] args) {
TestTagMisuse tester = new TestTagMisuse();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
/**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
-
- /**
* {@throws blah}
* Here is a bad field tag:
* @throws foo
--- a/langtools/test/com/sun/javadoc/testTagOutput/TestTagOutput.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTagOutput/TestTagOutput.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,22 +35,21 @@
public class TestTagOutput extends JavadocTester {
- private static final String BUG_ID = "8026370";
private static final String[][] TEST = {
- {BUG_ID + "/pkg1/DeprecatedTag.html",
+ { "pkg1/DeprecatedTag.html",
"<div class=\"block\"><span class=\"deprecatedLabel\">Deprecated.</span> </div>"},
- {BUG_ID + "/pkg1/DeprecatedTag.html",
+ { "pkg1/DeprecatedTag.html",
"<div class=\"block\"><span class=\"deprecatedLabel\">Deprecated.</span> " +
"<span class=\"deprecationComment\">Do not use this.</span></div>"}};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg1/DeprecatedTag.html",
+ { "pkg1/DeprecatedTag.html",
"<div class=\"block\"><span class=\"deprecatedLabel\">Deprecated." +
"</span> <span class=\"deprecationComment\"></span></div>"}};
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg1"};
/**
* The entry point of the test.
@@ -58,21 +57,7 @@
*/
public static void main(String[] args) {
TestTagOutput tester = new TestTagOutput();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testTaglets/TestTaglets.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTaglets/TestTaglets.java Thu Apr 24 16:04:44 2014 -0700
@@ -38,10 +38,6 @@
public class TestTaglets extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4654308-4767038";
- private static final String OUTPUT_DIR = BUG_ID;
-
//Javadoc arguments.
private static final String[] ARGS_4654308 = new String[] {
"-d", "4654308", "-tagletpath", SRC_DIR, "-taglet", "taglets.Foo",
@@ -55,17 +51,15 @@
//Input for string search tests.
private static final String[][] TEST_4654308 = new String[][] {
- {"4654308/C.html", "<span class=\"simpleTagLabel\">Foo:</span></dt>" +
+ { "C.html", "<span class=\"simpleTagLabel\">Foo:</span></dt>" +
"<dd>my only method is <a href=\"C.html#method--\"><code>here" +
"</code></a></dd></dl>"}
};
- private static final String[][] NEGATED_TEST_4654308 = NO_TEST;
private static final String[][] TEST_4767038 = new String[][] {
- {"4767038/Child.html",
+ { "Child.html",
"This is the first sentence."}
};
- private static final String[][] NEGATED_TEST_4767038 = NO_TEST;
/**
@@ -74,24 +68,10 @@
*/
public static void main(String[] args) {
TestTaglets tester = new TestTaglets();
- run(tester, ARGS_4654308, TEST_4654308, NEGATED_TEST_4654308);
+ tester.run(ARGS_4654308, TEST_4654308, NO_TEST);
tester.printSummary();
tester = new TestTaglets();
- run(tester, ARGS_4767038, TEST_4767038, NEGATED_TEST_4767038);
+ tester.run(ARGS_4767038, TEST_4767038, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testThrowsHead/TestThrowsHead.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testThrowsHead/TestThrowsHead.java Thu Apr 24 16:04:44 2014 -0700
@@ -21,7 +21,7 @@
* questions.
*/
-/**
+/*
* @test
* @bug 4530727 8026567
* @summary When an exception is declared in the method signature but
@@ -36,13 +36,11 @@
public class TestThrowsHead extends JavadocTester {
- private static final String BUG_ID = "4530727";
private static final String[][] TEST = {
- {BUG_ID + "/C.html", "<dt><span class=\"throwsLabel\">Throws:</span>"}
+ { "C.html", "<dt><span class=\"throwsLabel\">Throws:</span>"}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, SRC_DIR + "/C.java"
+ "-d", OUTPUT_DIR, SRC_DIR + "/C.java"
};
/**
@@ -51,21 +49,7 @@
*/
public static void main(String[] args) {
TestThrowsHead tester = new TestThrowsHead();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testThrowsInheritence/TestThrowsTagInheritence.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testThrowsInheritence/TestThrowsTagInheritence.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,18 +36,17 @@
public class TestThrowsTagInheritence extends JavadocTester {
- private static final String BUG_ID = "4684827-4633969";
private static final String[][] TEST = {
//The class should not inherit the tag from the interface.
- {BUG_ID + "/Foo.html", "Test 1 passes."}
+ { "Foo.html", "Test 1 passes."}
};
private static final String[][] NEGATED_TEST = {
//The class should not inherit the tag from the interface.
- {BUG_ID + "/C.html", "Test 1 fails."}
+ { "C.html", "Test 1 fails."}
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java",
SRC_DIR + "/I.java", SRC_DIR + "/Foo.java",
SRC_DIR + "/Iface.java"
};
@@ -58,21 +57,7 @@
*/
public static void main(String[] args) {
TestThrowsTagInheritence tester = new TestThrowsTagInheritence();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testThrowsTag/TestThrowsTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,17 +35,14 @@
public class TestThrowsTag extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4985072";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<dd><code><a href=\"../pkg/T1.html\" title=\"class in pkg\">T1</a></code> - the first throws tag.</dd>\n" +
"<dd><code><a href=\"../pkg/T2.html\" title=\"class in pkg\">T2</a></code> - the second throws tag.</dd>\n" +
"<dd><code><a href=\"../pkg/T3.html\" title=\"class in pkg\">T3</a></code> - the third throws tag.</dd>\n" +
@@ -56,7 +53,6 @@
"<dd><code><a href=\"../pkg/T8.html\" title=\"class in pkg\">T8</a></code> - the fourth inherited throws tag.</dd>"
},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -64,21 +60,7 @@
*/
public static void main(String[] args) {
TestThrowsTag tester = new TestThrowsTag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testTitleInHref/TestTitleInHref.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTitleInHref/TestTitleInHref.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,26 +34,23 @@
public class TestTitleInHref extends JavadocTester {
- private static final String BUG_ID = "4714257";
-
private static final String[][] TEST = {
//Test to make sure that the title shows up in a class link.
- {BUG_ID + "/pkg/Links.html",
+ { "pkg/Links.html",
"<a href=\"../pkg/Class.html\" title=\"class in pkg\">"},
//Test to make sure that the title shows up in an interface link.
- {BUG_ID + "/pkg/Links.html",
+ { "pkg/Links.html",
"<a href=\"../pkg/Interface.html\" title=\"interface in pkg\">"},
//Test to make sure that the title shows up in cross link shows up
- {BUG_ID + "/pkg/Links.html",
+ { "pkg/Links.html",
"<a href=\"http://java.sun.com/j2se/1.4/docs/api/java/io/File.html?is-external=true\" title=\"class or interface in java.io\"><code>This is a cross link to class File</code></a>"},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
"-linkoffline", "http://java.sun.com/j2se/1.4/docs/api",
SRC_DIR, "pkg"
};
@@ -64,21 +61,7 @@
*/
public static void main(String[] args) {
TestTitleInHref tester = new TestTitleInHref();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testTopOption/TestTopOption.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTopOption/TestTopOption.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,43 +34,39 @@
public class TestTopOption extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "6227616";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
"-overview", "SRC_DIR + '/' + overview.html", "-use", "-top",
- "TOP TEXT", "-d", BUG_ID, "-sourcepath",
+ "TOP TEXT", "-d", OUTPUT_DIR, "-sourcepath",
SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/AnnotationType.html",
+ { "pkg/AnnotationType.html",
"TOP TEXT"},
- {BUG_ID + "/pkg/class-use/AnnotationType.html",
+ { "pkg/class-use/AnnotationType.html",
"TOP TEXT"},
- {BUG_ID + "/pkg/Cl.html",
+ { "pkg/Cl.html",
"TOP TEXT"},
- {BUG_ID + "/pkg/class-use/Cl.html",
+ { "pkg/class-use/Cl.html",
"TOP TEXT"},
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"TOP TEXT"},
- {BUG_ID + "/pkg/package-use.html",
+ { "pkg/package-use.html",
"TOP TEXT"},
- {BUG_ID + "/overview-summary.html",
+ { "overview-summary.html",
"TOP TEXT"},
- {BUG_ID + "/overview-tree.html",
+ { "overview-tree.html",
"TOP TEXT"},
- {BUG_ID + "/constant-values.html",
+ { "constant-values.html",
"TOP TEXT"},
- {BUG_ID + "/help-doc.html",
+ { "help-doc.html",
"TOP TEXT"},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -78,21 +74,7 @@
*/
public static void main(String[] args) {
TestTopOption tester = new TestTopOption();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTypeAnnotations/TestTypeAnnotations.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,26 +34,22 @@
public class TestTypeAnnotations extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8005091-8009686";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-private", "typeannos"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-private", "typeannos"
};
//Input for string search tests.
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[][] TEST = {
// Test for type annotations on Class Extends (ClassExtends.java).
- {BUG_ID + "/typeannos/MyClass.html",
+ { "typeannos/MyClass.html",
"extends <a href=\"../typeannos/ClassExtA.html\" title=\"annotation " +
"in typeannos\">@ClassExtA</a> <a href=\"../typeannos/ParameterizedClass.html\" " +
"title=\"class in typeannos\">ParameterizedClass</a><<a href=\"" +
"../typeannos/ClassExtB.html\" title=\"annotation in typeannos\">" +
"@ClassExtB</a> java.lang.String>"
},
- {BUG_ID + "/typeannos/MyClass.html",
+ { "typeannos/MyClass.html",
"implements <a href=\"../typeannos/ClassExtB.html\" title=\"" +
"annotation in typeannos\">@ClassExtB</a> java.lang.CharSequence, " +
"<a href=\"../typeannos/ClassExtA.html\" title=\"annotation in " +
@@ -62,7 +58,7 @@
"<a href=\"../typeannos/ClassExtB.html\" title=\"annotation in " +
"typeannos\">@ClassExtB</a> java.lang.String></pre>"
},
- {BUG_ID + "/typeannos/MyInterface.html",
+ { "typeannos/MyInterface.html",
"extends <a href=\"../typeannos/ClassExtA.html\" title=\"annotation " +
"in typeannos\">@ClassExtA</a> <a href=\"../typeannos/" +
"ParameterizedInterface.html\" title=\"interface in typeannos\">" +
@@ -73,12 +69,12 @@
},
// Test for type annotations on Class Parameters (ClassParameters.java).
- {BUG_ID + "/typeannos/ExtendsBound.html",
+ { "typeannos/ExtendsBound.html",
"class <span class=\"typeNameLabel\">ExtendsBound<K extends <a " +
"href=\"../typeannos/ClassParamA.html\" title=\"annotation in " +
"typeannos\">@ClassParamA</a> java.lang.String></span>"
},
- {BUG_ID + "/typeannos/ExtendsGeneric.html",
+ { "typeannos/ExtendsGeneric.html",
"<pre>class <span class=\"typeNameLabel\">ExtendsGeneric<K extends " +
"<a href=\"../typeannos/ClassParamA.html\" title=\"annotation in " +
"typeannos\">@ClassParamA</a> <a href=\"../typeannos/Unannotated.html\" " +
@@ -86,24 +82,24 @@
"../typeannos/ClassParamB.html\" title=\"annotation in typeannos\">" +
"@ClassParamB</a> java.lang.String>></span>"
},
- {BUG_ID + "/typeannos/TwoBounds.html",
+ { "typeannos/TwoBounds.html",
"<pre>class <span class=\"typeNameLabel\">TwoBounds<K extends <a href=\"" +
"../typeannos/ClassParamA.html\" title=\"annotation in typeannos\">" +
"@ClassParamA</a> java.lang.String,V extends <a href=\"../typeannos/" +
"ClassParamB.html\" title=\"annotation in typeannos\">@ClassParamB" +
"</a> java.lang.String></span>"
},
- {BUG_ID + "/typeannos/Complex1.html",
+ { "typeannos/Complex1.html",
"class <span class=\"typeNameLabel\">Complex1<K extends <a href=\"../" +
"typeannos/ClassParamA.html\" title=\"annotation in typeannos\">" +
"@ClassParamA</a> java.lang.String & java.lang.Runnable></span>"
},
- {BUG_ID + "/typeannos/Complex2.html",
+ { "typeannos/Complex2.html",
"class <span class=\"typeNameLabel\">Complex2<K extends java.lang." +
"String & <a href=\"../typeannos/ClassParamB.html\" title=\"" +
"annotation in typeannos\">@ClassParamB</a> java.lang.Runnable></span>"
},
- {BUG_ID + "/typeannos/ComplexBoth.html",
+ { "typeannos/ComplexBoth.html",
"class <span class=\"typeNameLabel\">ComplexBoth<K extends <a href=\"" +
"../typeannos/ClassParamA.html\" title=\"annotation in typeannos\"" +
">@ClassParamA</a> java.lang.String & <a href=\"../typeannos/" +
@@ -112,24 +108,24 @@
},
// Test for type annotations on fields (Fields.java).
- {BUG_ID + "/typeannos/DefaultScope.html",
+ { "typeannos/DefaultScope.html",
"<pre><a href=\"../typeannos/Parameterized.html\" title=\"class in " +
"typeannos\">Parameterized</a><<a href=\"../typeannos/FldA.html\" " +
"title=\"annotation in typeannos\">@FldA</a> java.lang.String,<a " +
"href=\"../typeannos/FldB.html\" title=\"annotation in typeannos\">" +
"@FldB</a> java.lang.String> bothTypeArgs</pre>"
},
- {BUG_ID + "/typeannos/DefaultScope.html",
+ { "typeannos/DefaultScope.html",
"<pre><a href=\"../typeannos/FldA.html\" title=\"annotation in " +
"typeannos\">@FldA</a> java.lang.String <a href=\"../typeannos/" +
"FldB.html\" title=\"annotation in typeannos\">@FldB</a> [] " +
"array1Deep</pre>"
},
- {BUG_ID + "/typeannos/DefaultScope.html",
+ { "typeannos/DefaultScope.html",
"<pre>java.lang.String[] <a href=\"../typeannos/FldB.html\" " +
"title=\"annotation in typeannos\">@FldB</a> [] array2SecondOld</pre>"
},
- {BUG_ID + "/typeannos/DefaultScope.html",
+ { "typeannos/DefaultScope.html",
"<pre><a href=\"../typeannos/FldD.html\" title=\"annotation in " +
"typeannos\">@FldD</a> java.lang.String <a href=\"../typeannos/" +
"FldC.html\" title=\"annotation in typeannos\">@FldC</a> <a href=\"" +
@@ -138,7 +134,7 @@
"typeannos\">@FldC</a> <a href=\"../typeannos/FldB.html\" title=\"" +
"annotation in typeannos\">@FldB</a> [] array2Deep</pre>"
},
- {BUG_ID + "/typeannos/ModifiedScoped.html",
+ { "typeannos/ModifiedScoped.html",
"<pre>public final <a href=\"../typeannos/Parameterized.html\" " +
"title=\"class in typeannos\">Parameterized</a><<a href=\"../" +
"typeannos/FldA.html\" title=\"annotation in typeannos\">@FldA</a> " +
@@ -150,30 +146,30 @@
"title=\"annotation in typeannos\">@FldB</a> java.lang.String> " +
"nestedParameterized</pre>"
},
- {BUG_ID + "/typeannos/ModifiedScoped.html",
+ { "typeannos/ModifiedScoped.html",
"<pre>public final <a href=\"../typeannos/FldA.html\" " +
"title=\"annotation in typeannos\">@FldA</a> java.lang.String[][] " +
"array2</pre>"
},
// Test for type annotations on method return types (MethodReturnType.java).
- {BUG_ID + "/typeannos/MtdDefaultScope.html",
+ { "typeannos/MtdDefaultScope.html",
"<pre>public <T> <a href=\"../typeannos/MRtnA.html\" " +
"title=\"annotation in typeannos\">@MRtnA</a> java.lang.String" +
" method()</pre>"
},
- {BUG_ID + "/typeannos/MtdDefaultScope.html",
+ { "typeannos/MtdDefaultScope.html",
"<pre><a href=\"../typeannos/MRtnA.html\" title=\"annotation in " +
"typeannos\">@MRtnA</a> java.lang.String <a href=\"../typeannos/" +
"MRtnA.html\" title=\"annotation in typeannos\">@MRtnA</a> [] <a " +
"href=\"../typeannos/MRtnB.html\" title=\"annotation in typeannos\">" +
"@MRtnB</a> [] array2Deep()</pre>"
},
- {BUG_ID + "/typeannos/MtdDefaultScope.html",
+ { "typeannos/MtdDefaultScope.html",
"<pre><a href=\"../typeannos/MRtnA.html\" title=\"annotation in " +
"typeannos\">@MRtnA</a> java.lang.String[][] array2()</pre>"
},
- {BUG_ID + "/typeannos/MtdModifiedScoped.html",
+ { "typeannos/MtdModifiedScoped.html",
"<pre>public final <a href=\"../typeannos/MtdParameterized.html\" " +
"title=\"class in typeannos\">MtdParameterized</a><<a href=\"../" +
"typeannos/MRtnA.html\" title=\"annotation in typeannos\">@MRtnA</a> " +
@@ -187,12 +183,12 @@
},
// Test for type annotations on method type parameters (MethodTypeParameters.java).
- {BUG_ID + "/typeannos/UnscopedUnmodified.html",
+ { "typeannos/UnscopedUnmodified.html",
"<pre><K extends <a href=\"../typeannos/MTyParamA.html\" title=\"" +
"annotation in typeannos\">@MTyParamA</a> java.lang.String>" +
" void methodExtends()</pre>"
},
- {BUG_ID + "/typeannos/UnscopedUnmodified.html",
+ { "typeannos/UnscopedUnmodified.html",
"<pre><K extends <a href=\"../typeannos/MTyParamA.html\" title=\"" +
"annotation in typeannos\">@MTyParamA</a> <a href=\"../typeannos/" +
"MtdTyParameterized.html\" title=\"class in typeannos\">" +
@@ -200,12 +196,12 @@
"title=\"annotation in typeannos\">@MTyParamB</a> java.lang.String" +
">> void nestedExtends()</pre>"
},
- {BUG_ID + "/typeannos/PublicModifiedMethods.html",
+ { "typeannos/PublicModifiedMethods.html",
"<pre>public final <K extends <a href=\"../typeannos/" +
"MTyParamA.html\" title=\"annotation in typeannos\">@MTyParamA</a> " +
"java.lang.String> void methodExtends()</pre>"
},
- {BUG_ID + "/typeannos/PublicModifiedMethods.html",
+ { "typeannos/PublicModifiedMethods.html",
"<pre>public final <K extends <a href=\"../typeannos/" +
"MTyParamA.html\" title=\"annotation in typeannos\">@MTyParamA</a> " +
"java.lang.String,V extends <a href=\"../typeannos/MTyParamA.html\" " +
@@ -217,13 +213,13 @@
},
// Test for type annotations on parameters (Parameters.java).
- {BUG_ID + "/typeannos/Parameters.html",
+ { "typeannos/Parameters.html",
"<pre>void unannotated(<a href=\"../typeannos/" +
"ParaParameterized.html\" title=\"class in typeannos\">" +
"ParaParameterized</a><java.lang.String,java.lang.String>" +
" a)</pre>"
},
- {BUG_ID + "/typeannos/Parameters.html",
+ { "typeannos/Parameters.html",
"<pre>void nestedParaParameterized(<a href=\"../typeannos/" +
"ParaParameterized.html\" title=\"class in typeannos\">" +
"ParaParameterized</a><<a href=\"../typeannos/ParamA.html\" " +
@@ -236,7 +232,7 @@
"typeannos/ParamB.html\" title=\"annotation in typeannos\">@ParamB" +
"</a> java.lang.String> a)</pre>"
},
- {BUG_ID + "/typeannos/Parameters.html",
+ { "typeannos/Parameters.html",
"<pre>void array2Deep(<a href=\"../typeannos/ParamA.html\" " +
"title=\"annotation in typeannos\">@ParamA</a> java.lang.String " +
"<a href=\"../typeannos/ParamA.html\" title=\"annotation in " +
@@ -245,37 +241,37 @@
},
// Test for type annotations on throws (Throws.java).
- {BUG_ID + "/typeannos/ThrDefaultUnmodified.html",
+ { "typeannos/ThrDefaultUnmodified.html",
"<pre>void oneException()\n" +
" throws <a href=\"../typeannos/ThrA.html\" title=\"" +
"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/ThrDefaultUnmodified.html",
+ { "typeannos/ThrDefaultUnmodified.html",
"<pre>void twoExceptions()\n" +
" throws <a href=\"../typeannos/ThrA.html\" title=\"" +
"annotation in typeannos\">@ThrA</a> java.lang.RuntimeException,\n" +
" <a href=\"../typeannos/ThrA.html\" title=\"" +
"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/ThrPublicModified.html",
+ { "typeannos/ThrPublicModified.html",
"<pre>public final void oneException(java.lang.String a)\n" +
" throws <a href=\"../typeannos/ThrA.html\" " +
"title=\"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/ThrPublicModified.html",
+ { "typeannos/ThrPublicModified.html",
"<pre>public final void twoExceptions(java.lang.String a)\n" +
" throws <a href=\"../typeannos/ThrA.html\" " +
"title=\"annotation in typeannos\">@ThrA</a> java.lang.RuntimeException,\n" +
" <a href=\"../typeannos/ThrA.html\" " +
"title=\"annotation in typeannos\">@ThrA</a> java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/ThrWithValue.html",
+ { "typeannos/ThrWithValue.html",
"<pre>void oneException()\n" +
" throws <a href=\"../typeannos/ThrB.html\" title=\"" +
"annotation in typeannos\">@ThrB</a>(<a href=\"../typeannos/" +
"ThrB.html#value--\">value</a>=\"m\") java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/ThrWithValue.html",
+ { "typeannos/ThrWithValue.html",
"<pre>void twoExceptions()\n" +
" throws <a href=\"../typeannos/ThrB.html\" title=\"" +
"annotation in typeannos\">@ThrB</a>(<a href=\"../typeannos/" +
@@ -285,33 +281,33 @@
},
// Test for type annotations on type parameters (TypeParameters.java).
- {BUG_ID + "/typeannos/TestMethods.html",
+ { "typeannos/TestMethods.html",
"<pre><K,V extends <a href=\"../typeannos/TyParaA.html\" title=\"" +
"annotation in typeannos\">@TyParaA</a> java.lang.String> " +
"void secondAnnotated()</pre>"
},
// Test for type annotations on wildcard type (Wildcards.java).
- {BUG_ID + "/typeannos/BoundTest.html",
+ { "typeannos/BoundTest.html",
"<pre>void wcExtends(<a href=\"../typeannos/MyList.html\" " +
"title=\"class in typeannos\">MyList</a><? extends <a href=\"" +
"../typeannos/WldA.html\" title=\"annotation in typeannos\">@WldA" +
"</a> java.lang.String> l)</pre>"
},
- {BUG_ID + "/typeannos/BoundTest.html",
+ { "typeannos/BoundTest.html",
"<pre><a href=\"../typeannos/MyList.html\" title=\"class in " +
"typeannos\">MyList</a><? super <a href=\"../typeannos/WldA.html\" " +
"title=\"annotation in typeannos\">@WldA</a> java.lang.String>" +
" returnWcSuper()</pre>"
},
- {BUG_ID + "/typeannos/BoundWithValue.html",
+ { "typeannos/BoundWithValue.html",
"<pre>void wcSuper(<a href=\"../typeannos/MyList.html\" title=\"" +
"class in typeannos\">MyList</a><? super <a href=\"../typeannos/" +
"WldB.html\" title=\"annotation in typeannos\">@WldB</a>(<a href=\"" +
"../typeannos/WldB.html#value--\">value</a>=\"m\") java.lang." +
"String> l)</pre>"
},
- {BUG_ID + "/typeannos/BoundWithValue.html",
+ { "typeannos/BoundWithValue.html",
"<pre><a href=\"../typeannos/MyList.html\" title=\"class in " +
"typeannos\">MyList</a><? extends <a href=\"../typeannos/WldB." +
"html\" title=\"annotation in typeannos\">@WldB</a>(<a href=\"../" +
@@ -320,40 +316,40 @@
},
// Test for receiver annotations (Receivers.java).
- {BUG_ID + "/typeannos/DefaultUnmodified.html",
+ { "typeannos/DefaultUnmodified.html",
"<pre>void withException(<a href=\"../typeannos/RcvrA.html\" " +
"title=\"annotation in typeannos\">@RcvrA</a> " +
"DefaultUnmodified this)\n" +
" throws java." +
"lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/DefaultUnmodified.html",
+ { "typeannos/DefaultUnmodified.html",
"<pre>java.lang.String nonVoid(<a href=\"../typeannos/RcvrA." +
"html\" title=\"annotation in typeannos\">@RcvrA</a> <a href=\"../" +
"typeannos/RcvrB.html\" title=\"annotation in typeannos\">@RcvrB" +
"</a>(<a href=\"../typeannos/RcvrB.html#value--\">value</a>=\"m\")" +
" DefaultUnmodified this)</pre>"
},
- {BUG_ID + "/typeannos/DefaultUnmodified.html",
+ { "typeannos/DefaultUnmodified.html",
"<pre><T extends java.lang.Runnable> void accept(" +
"<a href=\"../typeannos/RcvrA.html\" title=\"annotation in " +
"typeannos\">@RcvrA</a> DefaultUnmodified this,\n" +
" T r)\n" +
" throws java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/PublicModified.html",
+ { "typeannos/PublicModified.html",
"<pre>public final java.lang.String nonVoid(<a href=\"" +
"../typeannos/RcvrA.html\" title=\"annotation in typeannos\">" +
"@RcvrA</a> PublicModified this)</pre>"
},
- {BUG_ID + "/typeannos/PublicModified.html",
+ { "typeannos/PublicModified.html",
"<pre>public final <T extends java.lang.Runnable> " +
"void accept(<a href=\"../typeannos/RcvrA.html\" title=\"" +
"annotation in typeannos\">@RcvrA</a> PublicModified this,\n" +
" T r)\n" +
" throws java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/WithValue.html",
+ { "typeannos/WithValue.html",
"<pre><T extends java.lang.Runnable> void accept(" +
"<a href=\"../typeannos/RcvrB.html\" title=\"annotation in " +
"typeannos\">@RcvrB</a>(<a href=\"../typeannos/RcvrB.html#value--\">" +
@@ -361,17 +357,17 @@
" T r)\n" +
" throws java.lang.Exception</pre>"
},
- {BUG_ID + "/typeannos/WithFinal.html",
+ { "typeannos/WithFinal.html",
"<pre>java.lang.String nonVoid(<a href=\"../typeannos/RcvrB." +
"html\" title=\"annotation in typeannos\">@RcvrB</a>(<a href=\"../" +
"typeannos/RcvrB.html#value--\">value</a>=\"m\") WithFinal" +
" this)</pre>"
},
- {BUG_ID + "/typeannos/WithBody.html",
+ { "typeannos/WithBody.html",
"<pre>void field(<a href=\"../typeannos/RcvrA.html\" title=\"" +
"annotation in typeannos\">@RcvrA</a> WithBody this)</pre>"
},
- {BUG_ID + "/typeannos/Generic2.html",
+ { "typeannos/Generic2.html",
"<pre>void test2(<a href=\"../typeannos/RcvrA.html\" title=\"" +
"annotation in typeannos\">@RcvrA</a> Generic2<X> this)</pre>"
}
@@ -383,21 +379,7 @@
*/
public static void main(String[] args) {
TestTypeAnnotations tester = new TestTypeAnnotations();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java Thu Apr 24 16:04:44 2014 -0700
@@ -37,54 +37,50 @@
public class TestTypeParameters extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4927167-4974929-7010344";
-
//Javadoc arguments.
private static final String[] ARGS1 = new String[]{
- "-d", BUG_ID, "-use", "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-use", "-sourcepath", SRC_DIR,
"pkg"
};
private static final String[] ARGS2 = new String[]{
- "-d", BUG_ID, "-linksource", "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-linksource", "-sourcepath", SRC_DIR,
"pkg"
};
//Input for string search tests.
private static final String[][] TEST1 = {
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<td class=\"colFirst\"><code><W extends java.lang.String,V extends " +
"java.util.List><br>java.lang.Object</code></td>"
},
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<code><T> java.lang.Object</code>"
},
- {BUG_ID + "/pkg/package-summary.html",
+ { "pkg/package-summary.html",
"C</a><E extends <a href=\"../pkg/Parent.html\" " +
"title=\"class in pkg\">Parent</a>>"
},
- {BUG_ID + "/pkg/class-use/Foo4.html",
+ { "pkg/class-use/Foo4.html",
"<a href=\"../../pkg/ClassUseTest3.html\" title=\"class in pkg\">" +
"ClassUseTest3</a><T extends <a href=\"../../pkg/ParamTest2.html\" " +
"title=\"class in pkg\">ParamTest2</a><java.util.List<? extends " +
"<a href=\"../../pkg/Foo4.html\" title=\"class in pkg\">Foo4</a>>>>"
},
//Nested type parameters
- {BUG_ID + "/pkg/C.html",
+ { "pkg/C.html",
"<a name=\"formatDetails-java.util.Collection-java.util.Collection-\">\n" +
"<!-- -->\n" +
"</a>"
},
};
private static final String[][] TEST2 = {
- {BUG_ID + "/pkg/ClassUseTest3.html",
+ { "pkg/ClassUseTest3.html",
"public class <a href=\"../src-html/pkg/ClassUseTest3.html#line.28\">" +
"ClassUseTest3</a><T extends <a href=\"../pkg/ParamTest2.html\" " +
"title=\"class in pkg\">ParamTest2</a><java.util.List<? extends " +
"<a href=\"../pkg/Foo4.html\" title=\"class in pkg\">Foo4</a>>>>"
}
};
- private static final String[][] NEGATED_TEST = NO_TEST;
/**
* The entry point of the test.
@@ -92,22 +88,8 @@
*/
public static void main(String[] args) {
TestTypeParameters tester = new TestTypeParameters();
- run(tester, ARGS1, TEST1, NEGATED_TEST);
- run(tester, ARGS2, TEST2, NEGATED_TEST);
+ tester.run(ARGS1, TEST1, NO_TEST);
+ tester.run(ARGS2, TEST2, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testUnnamedPackage/TestUnnamedPackage.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testUnnamedPackage/TestUnnamedPackage.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,32 +35,29 @@
public class TestUnnamedPackage extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4904075-4774450-5015144";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, SRC_DIR + "/C.java"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/package-summary.html",
+ { "package-summary.html",
"<h1 title=\"Package\" class=\"title\">Package <Unnamed></h1>"
},
- {BUG_ID + "/package-summary.html",
+ { "package-summary.html",
"This is a package comment for the unnamed package."
},
- {BUG_ID + "/package-summary.html",
+ { "package-summary.html",
"This is a class in the unnamed package."
},
- {BUG_ID + "/package-tree.html",
+ { "package-tree.html",
"<h1 class=\"title\">Hierarchy For Package <Unnamed></h1>"
},
- {BUG_ID + "/index-all.html",
+ { "index-all.html",
"title=\"class in <Unnamed>\""
},
- {BUG_ID + "/C.html", "<a href=\"package-summary.html\">"}
+ { "C.html", "<a href=\"package-summary.html\">"}
};
private static final String[][] NEGATED_TEST = {
{ERROR_OUTPUT, "BadSource"},
@@ -72,21 +69,7 @@
*/
public static void main(String[] args) {
TestUnnamedPackage tester = new TestUnnamedPackage();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,8 +34,6 @@
public class TestUseOption extends JavadocTester {
- private static final String BUG_ID = "4496290-4985072-7006178-7068595";
-
//Input for string search tests.
private static final String[] TEST2 = {
"Field in C1.",
@@ -55,37 +53,38 @@
};
private static final String[][] TEST3 = {
- {BUG_ID + "-3/class-use/UsedInC.html", "Uses of <a href=" +
- "\"../UsedInC.html\" title=\"class in <Unnamed>\">" +
- "UsedInC</a> in <a href=\"../package-summary.html\"><Unnamed></a>"
+ { "class-use/UsedInC.html",
+ "Uses of <a href=\"../UsedInC.html\" title=\"class in <Unnamed>\">" +
+ "UsedInC</a> in <a href=\"../package-summary.html\"><Unnamed></a>"
},
- {BUG_ID + "-3/package-use.html", "<td class=\"colOne\">" +
- "<a href=\"class-use/UsedInC.html#%3CUnnamed%3E\">UsedInC</a> </td>"
+ { "package-use.html",
+ "<td class=\"colOne\">" +
+ "<a href=\"class-use/UsedInC.html#%3CUnnamed%3E\">UsedInC</a> </td>"
}
};
private static final String[][] TEST4 = {
- {BUG_ID + "-4/pkg2/class-use/C3.html", "<a href=" +
- "\"../../index.html?pkg2/class-use/C3.html\" target=\"_top\">" +
- "Frames</a></li>"
+ { "pkg2/class-use/C3.html",
+ "<a href=\"../../index.html?pkg2/class-use/C3.html\" target=\"_top\">" +
+ "Frames</a></li>"
}
};
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
};
private static final String[] ARGS2 = new String[] {
- "-d", BUG_ID+"-2", "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
+ "-d", OUTPUT_DIR+"-2", "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
};
private static final String[] ARGS3 = new String[] {
- "-d", BUG_ID + "-3", "-sourcepath", SRC_DIR, "-use", SRC_DIR +
- "/C.java", SRC_DIR + "/UsedInC.java"
+ "-d", OUTPUT_DIR + "-3", "-sourcepath", SRC_DIR, "-use",
+ SRC_DIR + "/C.java", SRC_DIR + "/UsedInC.java"
};
private static final String[] ARGS4 = new String[] {
- "-d", BUG_ID + "-4", "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
+ "-d", OUTPUT_DIR + "-4", "-sourcepath", SRC_DIR, "-use", "pkg1", "pkg2"
};
/**
@@ -96,20 +95,19 @@
String[][] tests = new String[11][2];
//Eight tests for class use.
for (int i = 0; i < 8; i++) {
- tests[i][0] = BUG_ID + "/pkg1/class-use/C1.html";
+ tests[i][0] = "pkg1/class-use/C1.html";
tests[i][1] = "Test " + (i + 1) + " passes";
}
//Three more tests for package use.
for (int i = 8, j = 1; i < tests.length; i++, j++) {
- tests[i][0] = BUG_ID + "/pkg1/package-use.html";
+ tests[i][0] = "pkg1/package-use.html";
tests[i][1] = "Test " + j + " passes";
}
TestUseOption tester = new TestUseOption();
- run(tester, ARGS, tests, NO_TEST);
+ tester.run(ARGS, tests, NO_TEST);
tester.printSummary();
- run(tester, ARGS2, NO_TEST, NO_TEST);
- String usePageContents = tester.readFileToString(BUG_ID +
- "-2/pkg1/class-use/UsedClass.html");
+ tester.run(ARGS2, NO_TEST, NO_TEST);
+ String usePageContents = tester.readFileToString("pkg1/class-use/UsedClass.html");
int prevIndex = -1;
int currentIndex = -1;
for (int i = 0; i < TEST2.length; i++) {
@@ -120,22 +118,8 @@
prevIndex = currentIndex;
}
tester.printSummary();
- run(tester, ARGS3, TEST3, NO_TEST);
- run(tester, ARGS4, TEST4, NO_TEST);
+ tester.run(ARGS3, TEST3, NO_TEST);
+ tester.run(ARGS4, TEST4, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testValueTag/TestValueTag.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testValueTag/TestValueTag.java Thu Apr 24 16:04:44 2014 -0700
@@ -34,66 +34,63 @@
public class TestValueTag extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4764045";
-
//Javadoc arguments.
private static final String[] ARGS =
new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-tag",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-tag",
"todo", "pkg1", "pkg2"
};
private static final String[] ARGS1 =
new String[] {
"-Xdoclint:none",
- "-d", BUG_ID + "-1", "-sourcepath", SRC_DIR, "-tag",
+ "-d", OUTPUT_DIR + "-1", "-sourcepath", SRC_DIR, "-tag",
"todo", "pkg1", "pkg2"
};
//Input for string search tests.
private static final String[][] TEST = {
//Base case: using @value on a constant.
- {BUG_ID + "/pkg1/Class1.html",
+ { "pkg1/Class1.html",
"Result: \"Test 1 passes\""},
//Retrieve value of constant in same class.
- {BUG_ID + "/pkg1/Class1.html",
+ { "pkg1/Class1.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_2_PASSES\">\"Test 2 passes\"</a>"},
- {BUG_ID + "/pkg1/Class1.html",
+ { "pkg1/Class1.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_3_PASSES\">\"Test 3 passes\"</a>"},
- {BUG_ID + "/pkg1/Class1.html",
+ { "pkg1/Class1.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_4_PASSES\">\"Test 4 passes\"</a>"},
- {BUG_ID + "/pkg1/Class1.html",
+ { "pkg1/Class1.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_5_PASSES\">\"Test 5 passes\"</a>"},
- {BUG_ID + "/pkg1/Class1.html",
+ { "pkg1/Class1.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_6_PASSES\">\"Test 6 passes\"</a>"},
//Retrieve value of constant in different class.
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_7_PASSES\">\"Test 7 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_8_PASSES\">\"Test 8 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_9_PASSES\">\"Test 9 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_10_PASSES\">\"Test 10 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_11_PASSES\">\"Test 11 passes\"</a>"},
//Retrieve value of constant in different package
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg2/Class3.html#TEST_12_PASSES\">\"Test 12 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg2/Class3.html#TEST_13_PASSES\">\"Test 13 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg2/Class3.html#TEST_14_PASSES\">\"Test 14 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg2/Class3.html#TEST_15_PASSES\">\"Test 15 passes\"</a>"},
- {BUG_ID + "/pkg1/Class2.html",
+ { "pkg1/Class2.html",
"Result: <a href=\"../pkg2/Class3.html#TEST_16_PASSES\">\"Test 16 passes\"</a>"},
//Retrieve value of constant from a package page
- {BUG_ID + "/pkg2/package-summary.html",
+ { "pkg2/package-summary.html",
"Result: <a href=\"../pkg2/Class3.html#TEST_17_PASSES\">\"Test 17 passes\"</a>"},
//Test @value tag used with custom tag.
- {BUG_ID + "/pkg1/CustomTagUsage.html",
+ { "pkg1/CustomTagUsage.html",
"<dt><span class=\"simpleTagLabel\">Todo:</span></dt>\n" +
"<dd>the value of this constant is 55.</dd>"},
//Test @value errors printed dues to invalid use or when used with
@@ -144,7 +141,7 @@
};
private static final String[][] NEGATED_TEST = {
//Base case: using @value on a constant.
- {BUG_ID + "/pkg1/Class1.html",
+ { "pkg1/Class1.html",
"Result: <a href=\"../pkg1/Class1.html#TEST_12_ERROR\">\"Test 12 " +
"generates an error message\"</a>"},
};
@@ -155,9 +152,9 @@
*/
public static void main(String[] args) {
TestValueTag tester = new TestValueTag();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
checkForException(tester);
- run(tester, ARGS1, TEST1, NO_TEST);
+ tester.run(ARGS1, TEST1, NO_TEST);
checkForException(tester);
tester.printSummary();
}
@@ -167,18 +164,4 @@
throw new AssertionError("javadoc threw DocletAbortException");
}
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testWarnBadParamNames/TestWarnBadParamNames.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testWarnBadParamNames/TestWarnBadParamNames.java Thu Apr 24 16:04:44 2014 -0700
@@ -35,15 +35,13 @@
public class TestWarnBadParamNames extends JavadocTester {
- private static final String BUG_ID = "4693440";
private static final String[][] TEST = {
{WARNING_OUTPUT, "warning - @param argument \"int\" is not a parameter name."},
{WARNING_OUTPUT, "warning - @param argument \"IDontExist\" is not a parameter name."},
{WARNING_OUTPUT, "warning - Parameter \"arg\" is documented more than once."},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, SRC_DIR + "/C.java"
+ "-Xdoclint:none", "-d", OUTPUT_DIR, SRC_DIR + "/C.java"
};
/**
@@ -52,21 +50,7 @@
*/
public static void main(String[] args) {
TestWarnBadParamNames tester = new TestWarnBadParamNames();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testWarnings/TestWarnings.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testWarnings/TestWarnings.java Thu Apr 24 16:04:44 2014 -0700
@@ -38,16 +38,13 @@
public class TestWarnings extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "4515705-4804296-4702454-4697036";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg"
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "pkg"
};
private static final String[] ARGS2 = new String[] {
- "-Xdoclint:none", "-d", BUG_ID, "-private", "-sourcepath", SRC_DIR,
+ "-Xdoclint:none", "-d", OUTPUT_DIR, "-private", "-sourcepath", SRC_DIR,
"pkg"
};
@@ -60,45 +57,29 @@
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/X.html", "can't find m()"},
- {BUG_ID + "/pkg/X.html", "can't find X()"},
- {BUG_ID + "/pkg/X.html", "can't find f"},
+ { "pkg/X.html", "can't find m()"},
+ { "pkg/X.html", "can't find X()"},
+ { "pkg/X.html", "can't find f"},
};
private static final String[][] TEST2 = {
- {BUG_ID + "/pkg/X.html",
+ { "pkg/X.html",
"<a href=\"../pkg/X.html#m--\"><code>m()</code></a><br/>"},
- {BUG_ID + "/pkg/X.html",
+ { "pkg/X.html",
"<a href=\"../pkg/X.html#X--\"><code>X()</code></a><br/>"},
- {BUG_ID + "/pkg/X.html",
+ { "pkg/X.html",
"<a href=\"../pkg/X.html#f\"><code>f</code></a><br/>"},
};
- private static final String[][] NEGATED_TEST2 = NO_TEST;
-
-
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestWarnings tester = new TestWarnings();
- run(tester, ARGS, TEST, NEGATED_TEST);
- run(tester, ARGS2, TEST2, NEGATED_TEST2);
+ tester.run(ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS2, TEST2, NO_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testWindowTitle/TestWindowTitle.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testWindowTitle/TestWindowTitle.java Thu Apr 24 16:04:44 2014 -0700
@@ -33,24 +33,23 @@
public class TestWindowTitle extends JavadocTester {
- private static final String BUG_ID = "8016675";
//Window title with JavaScript special characters.
private static final String TITLE_JS_CHARS =
"Testing \"Window 'Title'\" with a \\ backslash and a / " +
"forward slash and a \u00e8 unicode char also a tab and also a " +
"\t special character another \u0002 unicode)";
private static final String[] ARGS_JS_CHARS = new String[]{
- "-d", BUG_ID + "-1", "-windowtitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
+ "-d", OUTPUT_DIR + "-1", "-windowtitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_JS_CHARS = {
- {BUG_ID + "-1/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing \\\"Window \\\'Title\\\'\\\" " +
"with a \\\\ backslash and a / forward slash and a \\u00E8 unicode char " +
"also a tab and also a \\t special character another \\u0002 unicode))\";"
},
};
private static final String[][] NEG_TEST_JS_CHARS = {
- {BUG_ID + "-1/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing \"Window \'Title\'\" " +
"with a \\ backslash and a / forward slash and a \u00E8 unicode char " +
"also a tab and also a \t special character another \u0002 unicode))\";"
@@ -61,24 +60,24 @@
private static final String TITLE_SCRIPT_TAG =
"Testing script tag in title </title><script>alert(\"Should not pop up\")</script>.";
private static final String[] ARGS_SCRIPT_TAG = new String[]{
- "-d", BUG_ID + "-2", "-windowtitle", TITLE_SCRIPT_TAG, "-sourcepath", SRC_DIR, "p1", "p2"
+ "-d", OUTPUT_DIR + "-2", "-windowtitle", TITLE_SCRIPT_TAG, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_SCRIPT_TAG = {
- {BUG_ID + "-2/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing script tag in title alert" +
"(\\\"Should not pop up\\\").)\";"
},
- {BUG_ID + "-2/p2/C2.html",
+ { "p2/C2.html",
"parent.document.title=\"C2 (Testing script tag in title alert" +
"(\\\"Should not pop up\\\").)\";"
}
};
private static final String[][] NEG_TEST_SCRIPT_TAG = {
- {BUG_ID + "-2/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing script tag in title </title><script>" +
"alert(\\\"Should not pop up\\\")</script>.)\";"
},
- {BUG_ID + "-2/p2/C2.html",
+ { "p2/C2.html",
"parent.document.title=\"C2 (Testing script tag in title </title><script>" +
"alert(\\\"Should not pop up\\\")</script>.)\";"
}
@@ -89,18 +88,18 @@
"Testing another <p>HTML</p> tag. Another <h1>tag</h1>. A " +
"<span id=\"testTag\">tag with attributes</span>. <script and </p are not tags.";
private static final String[] ARGS_HTML_TAGS = new String[]{
- "-d", BUG_ID + "-3", "-windowtitle", TITLE_HTML_TAGS,
+ "-d", OUTPUT_DIR + "-3", "-windowtitle", TITLE_HTML_TAGS,
"-sourcepath", SRC_DIR,
"p1", "p2"
};
private static final String[][] TEST_HTML_TAGS = {
- {BUG_ID + "-3/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing another HTML tag. Another tag. A " +
"tag with attributes. <script and </p are not tags.)\";"
}
};
private static final String[][] NEG_TEST_HTML_TAGS = {
- {BUG_ID + "-3/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing another <p>HTML</p> tag. Another " +
"<h1>tag</h1>. A <span id=\"testTag\">tag with attributes</span>. <script and " +
"</p are not tags.)\";"
@@ -111,18 +110,18 @@
private static final String TITLE_HTML_ENTITIES =
"Testing entities <script>alert(\"Should not pop up\")</script>.";
private static final String[] ARGS_HTML_ENTITIES = new String[]{
- "-d", BUG_ID + "-4", "-windowtitle", TITLE_HTML_ENTITIES,
+ "-d", OUTPUT_DIR + "-4", "-windowtitle", TITLE_HTML_ENTITIES,
"-sourcepath", SRC_DIR,
"p1", "p2"
};
private static final String[][] TEST_HTML_ENTITIES = {
- {BUG_ID + "-4/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing entities <script>alert(\\\"Should " +
"not pop up\\\")</script>.)\";"
}
};
private static final String[][] NEG_TEST_HTML_ENTITIES = {
- {BUG_ID + "-4/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing entities alert(\\\"Should not pop up\\\").)\";"
}
};
@@ -131,15 +130,15 @@
private static final String TITLE_EMPTY_TAGS =
"</title><script></script>";
private static final String[] ARGS_EMPTY_TAGS = new String[]{
- "-d", BUG_ID + "-5", "-windowtitle", TITLE_EMPTY_TAGS, "-sourcepath", SRC_DIR, "p1", "p2"
+ "-d", OUTPUT_DIR + "-5", "-windowtitle", TITLE_EMPTY_TAGS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_EMPTY_TAGS = {
- {BUG_ID + "-5/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview\";"
}
};
private static final String[][] NEG_TEST_EMPTY_TAGS = {
- {BUG_ID + "-5/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (</title><script></script>)\";"
}
};
@@ -148,16 +147,16 @@
private static final String TITLE_UNICODE_CHARS =
"Testing unicode \u003cscript\u003ealert(\"Should not pop up\")\u003c/script\u003e.";
private static final String[] ARGS_UNICODE_CHARS = new String[]{
- "-d", BUG_ID + "-6", "-windowtitle", TITLE_UNICODE_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
+ "-d", OUTPUT_DIR + "-6", "-windowtitle", TITLE_UNICODE_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_UNICODE_CHARS = {
- {BUG_ID + "-6/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing unicode alert(\\\"Should " +
"not pop up\\\").)\";"
}
};
private static final String[][] NEG_TEST_UNICODE_CHARS = {
- {BUG_ID + "-6/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing unicode <script>alert(\\\"Should not pop up\\\")" +
"</script>.)\";"
}
@@ -167,20 +166,20 @@
private static final String TITLE_EMPTY =
"";
private static final String[] ARGS_EMPTY_TITLE = new String[]{
- "-d", BUG_ID + "-7", "-windowtitle", TITLE_EMPTY, "-sourcepath", SRC_DIR, "p1", "p2"
+ "-d", OUTPUT_DIR + "-7", "-windowtitle", TITLE_EMPTY, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] TEST_EMPTY = {
- {BUG_ID + "-7/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview\";"
}
};
//Test doctitle.
private static final String[] ARGS_DOCTITLE = new String[]{
- "-d", BUG_ID + "-8", "-doctitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
+ "-d", OUTPUT_DIR + "-8", "-doctitle", TITLE_JS_CHARS, "-sourcepath", SRC_DIR, "p1", "p2"
};
private static final String[][] NEG_TEST_DOCTITLE = {
- {BUG_ID + "-8/overview-summary.html",
+ { "overview-summary.html",
"parent.document.title=\"Overview (Testing \\\"Window \\\'Title\\\'\\\" " +
"with a \\\\ backslash and a / forward slash and a \\u00E8 unicode char " +
"also a tab and also a \\t special character another \\u0002 unicode)\";"
@@ -193,28 +192,14 @@
*/
public static void main(String[] args) {
TestWindowTitle tester = new TestWindowTitle();
- run(tester, ARGS_JS_CHARS, TEST_JS_CHARS, NEG_TEST_JS_CHARS);
- run(tester, ARGS_SCRIPT_TAG, TEST_SCRIPT_TAG, NEG_TEST_SCRIPT_TAG);
- run(tester, ARGS_HTML_TAGS, TEST_HTML_TAGS, NEG_TEST_HTML_TAGS);
- run(tester, ARGS_HTML_ENTITIES, TEST_HTML_ENTITIES, NEG_TEST_HTML_ENTITIES);
- run(tester, ARGS_EMPTY_TAGS, TEST_EMPTY_TAGS, NEG_TEST_EMPTY_TAGS);
- run(tester, ARGS_UNICODE_CHARS, TEST_UNICODE_CHARS, NEG_TEST_UNICODE_CHARS);
- run(tester, ARGS_EMPTY_TITLE, TEST_EMPTY, NO_TEST);
- run(tester, ARGS_DOCTITLE, NO_TEST, NEG_TEST_DOCTITLE);
+ tester.run(ARGS_JS_CHARS, TEST_JS_CHARS, NEG_TEST_JS_CHARS);
+ tester.run(ARGS_SCRIPT_TAG, TEST_SCRIPT_TAG, NEG_TEST_SCRIPT_TAG);
+ tester.run(ARGS_HTML_TAGS, TEST_HTML_TAGS, NEG_TEST_HTML_TAGS);
+ tester.run(ARGS_HTML_ENTITIES, TEST_HTML_ENTITIES, NEG_TEST_HTML_ENTITIES);
+ tester.run(ARGS_EMPTY_TAGS, TEST_EMPTY_TAGS, NEG_TEST_EMPTY_TAGS);
+ tester.run(ARGS_UNICODE_CHARS, TEST_UNICODE_CHARS, NEG_TEST_UNICODE_CHARS);
+ tester.run(ARGS_EMPTY_TITLE, TEST_EMPTY, NO_TEST);
+ tester.run(ARGS_DOCTITLE, NO_TEST, NEG_TEST_DOCTITLE);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/testXOption/TestXOption.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/testXOption/TestXOption.java Thu Apr 24 16:04:44 2014 -0700
@@ -32,17 +32,14 @@
public class TestXOption extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8007687";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR, "-X",
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR, "-X",
SRC_DIR + "/TestXOption.java"
};
private static final String[] ARGS2 = new String[] {
- "-d", BUG_ID, "-sourcepath", SRC_DIR,
+ "-d", OUTPUT_DIR, "-sourcepath", SRC_DIR,
SRC_DIR + "/TestXOption.java"
};
@@ -53,7 +50,6 @@
{STANDARD_OUTPUT, "-Xdoclint "},
{STANDARD_OUTPUT, "-Xdoclint:"},
};
- private static final String[][] NEGATED_TEST = NO_TEST;
//The help option should not crash the doclet.
private static final int EXPECTED_EXIT_CODE = 0;
@@ -64,22 +60,8 @@
*/
public static void main(String[] args) {
TestXOption tester = new TestXOption();
- int actualExitCode = run(tester, ARGS, TEST, NEGATED_TEST);
+ int actualExitCode = tester.run(ARGS, TEST, NO_TEST);
tester.checkExitCode(EXPECTED_EXIT_CODE, actualExitCode);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- a/langtools/test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/com/sun/javadoc/typeAnnotations/smoke/TestSmoke.java Thu Apr 24 16:04:44 2014 -0700
@@ -36,76 +36,73 @@
public class TestSmoke extends JavadocTester {
- //Test information.
- private static final String BUG_ID = "8006735";
-
//Javadoc arguments.
private static final String[] ARGS = new String[] {
- "-d", BUG_ID, "-private", "-sourcepath", SRC_DIR, "pkg"
+ "-d", OUTPUT_DIR, "-private", "-sourcepath", SRC_DIR, "pkg"
};
//Input for string search tests.
private static final String[][] TEST = {
- {BUG_ID + "/pkg/T0x1C.html", "@DA"},
- {BUG_ID + "/pkg/T0x1D.html", "@DA"},
- {BUG_ID + "/pkg/T0x0D.html", "@DA"},
- {BUG_ID + "/pkg/T0x06.html", "@DA"},
- {BUG_ID + "/pkg/T0x0B.html", "@DA"},
- {BUG_ID + "/pkg/T0x0F.html", "@DA"},
+ { "pkg/T0x1C.html", "@DA"},
+ { "pkg/T0x1D.html", "@DA"},
+ { "pkg/T0x0D.html", "@DA"},
+ { "pkg/T0x06.html", "@DA"},
+ { "pkg/T0x0B.html", "@DA"},
+ { "pkg/T0x0F.html", "@DA"},
/* @ignore 8013406: Test cases fail in javadoc test TestSmoke.java
- {BUG_ID + "/pkg/T0x20.html", "@DA"},
+ { "pkg/T0x20.html", "@DA"},
*/
/* @ignore 8013406: Test cases fail in javadoc test TestSmoke.java
- {BUG_ID + "/pkg/T0x20A.html", "@DTPA"},
+ { "pkg/T0x20A.html", "@DTPA"},
*/
/* @ignore 8013406: Test cases fail in javadoc test TestSmoke.java
- {BUG_ID + "/pkg/T0x20B.html", "@DA"},
+ { "pkg/T0x20B.html", "@DA"},
*/
/* @ignore 8013406: Test cases fail in javadoc test TestSmoke.java
- {BUG_ID + "/pkg/T0x22.html", "@DA"},
+ { "pkg/T0x22.html", "@DA"},
*/
/* @ignore 8013406: Test cases fail in javadoc test TestSmoke.java
- {BUG_ID + "/pkg/T0x22A.html", "@DTPA"},
+ { "pkg/T0x22A.html", "@DTPA"},
*/
/* @ignore 8013406: Test cases fail in javadoc test TestSmoke.java
- {BUG_ID + "/pkg/T0x22B.html", "@DA"},
+ { "pkg/T0x22B.html", "@DA"},
*/
- {BUG_ID + "/pkg/T0x10.html", "@DA"},
- {BUG_ID + "/pkg/T0x10A.html", "@DA"},
- {BUG_ID + "/pkg/T0x12.html", "@DA"},
- {BUG_ID + "/pkg/T0x11.html", "@DA"},
- {BUG_ID + "/pkg/T0x13.html", "@DA"},
- {BUG_ID + "/pkg/T0x15.html", "@DA"},
- {BUG_ID + "/pkg/T0x14.html", "@DA"},
- {BUG_ID + "/pkg/T0x16.html", "@DA"}
+ { "pkg/T0x10.html", "@DA"},
+ { "pkg/T0x10A.html", "@DA"},
+ { "pkg/T0x12.html", "@DA"},
+ { "pkg/T0x11.html", "@DA"},
+ { "pkg/T0x13.html", "@DA"},
+ { "pkg/T0x15.html", "@DA"},
+ { "pkg/T0x14.html", "@DA"},
+ { "pkg/T0x16.html", "@DA"}
};
private static final String[][] NEGATED_TEST = {
- {BUG_ID + "/pkg/T0x1C.html", "@A"},
- {BUG_ID + "/pkg/T0x1D.html", "@A"},
- {BUG_ID + "/pkg/T0x00.html", "@A"},
- {BUG_ID + "/pkg/T0x01.html", "@A"},
- {BUG_ID + "/pkg/T0x02.html", "@A"},
- {BUG_ID + "/pkg/T0x04.html", "@A"},
- {BUG_ID + "/pkg/T0x08.html", "@A"},
- {BUG_ID + "/pkg/T0x0D.html", "@A"},
- {BUG_ID + "/pkg/T0x06.html", "@A"},
- {BUG_ID + "/pkg/T0x0B.html", "@A"},
- {BUG_ID + "/pkg/T0x0F.html", "@A"},
- {BUG_ID + "/pkg/T0x20.html", "@A"},
- {BUG_ID + "/pkg/T0x20A.html", "@A"},
- {BUG_ID + "/pkg/T0x20B.html", "@A"},
- {BUG_ID + "/pkg/T0x22.html", "@A"},
- {BUG_ID + "/pkg/T0x22A.html", "@A"},
- {BUG_ID + "/pkg/T0x22B.html", "@A"},
- {BUG_ID + "/pkg/T0x10.html", "@A"},
- {BUG_ID + "/pkg/T0x10A.html", "@A"},
- {BUG_ID + "/pkg/T0x12.html", "@A"},
- {BUG_ID + "/pkg/T0x11.html", "@A"},
- {BUG_ID + "/pkg/T0x13.html", "@A"},
- {BUG_ID + "/pkg/T0x15.html", "@A"},
- {BUG_ID + "/pkg/T0x14.html", "@A"},
- {BUG_ID + "/pkg/T0x16.html", "@A"}
+ { "pkg/T0x1C.html", "@A"},
+ { "pkg/T0x1D.html", "@A"},
+ { "pkg/T0x00.html", "@A"},
+ { "pkg/T0x01.html", "@A"},
+ { "pkg/T0x02.html", "@A"},
+ { "pkg/T0x04.html", "@A"},
+ { "pkg/T0x08.html", "@A"},
+ { "pkg/T0x0D.html", "@A"},
+ { "pkg/T0x06.html", "@A"},
+ { "pkg/T0x0B.html", "@A"},
+ { "pkg/T0x0F.html", "@A"},
+ { "pkg/T0x20.html", "@A"},
+ { "pkg/T0x20A.html", "@A"},
+ { "pkg/T0x20B.html", "@A"},
+ { "pkg/T0x22.html", "@A"},
+ { "pkg/T0x22A.html", "@A"},
+ { "pkg/T0x22B.html", "@A"},
+ { "pkg/T0x10.html", "@A"},
+ { "pkg/T0x10A.html", "@A"},
+ { "pkg/T0x12.html", "@A"},
+ { "pkg/T0x11.html", "@A"},
+ { "pkg/T0x13.html", "@A"},
+ { "pkg/T0x15.html", "@A"},
+ { "pkg/T0x14.html", "@A"},
+ { "pkg/T0x16.html", "@A"}
};
/**
@@ -114,21 +111,7 @@
*/
public static void main(String[] args) {
TestSmoke tester = new TestSmoke();
- run(tester, ARGS, TEST, NEGATED_TEST);
+ tester.run(ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
-
- /**
- * {@inheritDoc}
- */
- public String getBugId() {
- return BUG_ID;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getBugName() {
- return getClass().getName();
- }
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T8029002/MultipleUpperBoundsIncorporationTest.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8029002
+ * @summary javac should take multiple upper bounds into account in incorporation
+ * @compile MultipleUpperBoundsIncorporationTest.java
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MultipleUpperBoundsIncorporationTest {
+
+ static class TestCase1 {
+ interface Task<E extends Exception> {}
+
+ class Comparator<T> {}
+
+ class CustomException extends Exception {}
+
+ class TaskQueue<E extends Exception, T extends Task<E>> {}
+
+ abstract class Test {
+ abstract <E extends Exception, T extends Task<E>> TaskQueue<E, T> create(Comparator<? super T> comparator);
+
+ void f(Comparator<Task<CustomException>> comp) {
+ TaskQueue<CustomException, Task<CustomException>> queue = create(comp);
+ queue.getClass();
+ }
+ }
+ }
+
+ static class TestCase2 {
+ public <T, E extends List<T>> E typedNull() {
+ return null;
+ }
+
+ public void call() {
+ ArrayList<String> list = typedNull();
+ }
+ }
+
+ static class TestCase3 {
+ interface I extends Iterable<String> {}
+
+ <T, Exp extends Iterable<T>> Exp typedNull() { return null; }
+ I i = typedNull();
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/annotations/typeAnnotations/newlocations/AfterMethodTypeParams.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8038788
+ * @summary Verify proper handling of annotations after method's type parameters.
+ * @build AfterMethodTypeParams
+ * @run main AfterMethodTypeParams
+ */
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.net.URI;
+import java.util.*;
+
+import javax.lang.model.element.Name;
+import javax.tools.*;
+
+import com.sun.source.tree.*;
+import com.sun.source.util.*;
+
+public class AfterMethodTypeParams {
+
+ public static void main(String... args) throws IOException {
+ new AfterMethodTypeParams().run();
+ }
+
+ void run() throws IOException {
+ JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
+
+ for (TestCase tc : testCases) {
+ String test = TEMPLATE.replace("CONTENT", tc.snippet);
+ List<JavaFileObject> files = Arrays.asList(new MyFileObject(test));
+ StringWriter out = new StringWriter();
+ List<String> options = Arrays.asList("-XDrawDiagnostics", "-XDshouldStopPolicy=FLOW");
+ JavacTask task = (JavacTask) compiler.getTask(out, null, null, options, null, files);
+
+ new TreePathScanner<Void, Void>() {
+ boolean seenAnnotation;
+ @Override
+ public Void visitAnnotation(AnnotationTree node, Void p) {
+ Name name = ((IdentifierTree) node.getAnnotationType()).getName();
+ seenAnnotation |= name.contentEquals("TA") || name.contentEquals("DA");
+ return null;
+ }
+ @Override
+ public Void visitCompilationUnit(CompilationUnitTree node, Void p) {
+ super.visitCompilationUnit(node, p);
+ if (!seenAnnotation)
+ error(test, "Annotation was missing");
+ return null;
+ }
+ }.scan(task.parse(), null);
+
+ task.analyze();
+
+ if (!tc.error.equals(out.toString().trim())) {
+ error(test, "Incorrect errors: " + out.toString());
+ }
+ }
+
+ if (errors > 0) {
+ throw new IllegalStateException("Errors found");
+ }
+ }
+
+ int errors;
+
+ void error(String code, String error) {
+ System.out.println("Error detected: " + error);
+ System.out.println("Code:");
+ System.out.println(code);
+ errors++;
+ }
+
+ static String TEMPLATE =
+ "import java.lang.annotation.*;\n" +
+ "public class Test {\n" +
+ " CONTENT\n" +
+ "}\n" +
+ "@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})\n" +
+ "@interface DA { }\n" +
+ "@Target(ElementType.TYPE_USE)\n" +
+ "@interface TA { }\n";
+
+ static class MyFileObject extends SimpleJavaFileObject {
+ final String text;
+ public MyFileObject(String text) {
+ super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
+ this.text = text;
+ }
+ @Override
+ public CharSequence getCharContent(boolean ignoreEncodingErrors) {
+ return text;
+ }
+ }
+
+ static TestCase[] testCases = new TestCase[] {
+ new TestCase("<T> @DA int foo1() { return 0;}", ""),
+ new TestCase("<T> @DA void foo2() { }", ""),
+ new TestCase("<T> @TA int foo3() { return 0;}", ""),
+ new TestCase("<T> @TA void foo4() { }",
+ "Test.java:3:9: compiler.err.annotation.type.not.applicable"),
+ new TestCase("<T> @DA Test() { }", "Test.java:3:9: compiler.err.illegal.start.of.type"),
+ new TestCase("<T> @TA Test() { }", "Test.java:3:9: compiler.err.illegal.start.of.type"),
+ };
+
+ static class TestCase {
+ final String snippet;
+ final String error;
+ public TestCase(String snippet, String error) {
+ this.snippet = snippet;
+ this.error = error;
+ }
+ }
+}
+
--- a/langtools/test/tools/javac/classfiles/InnerClasses/SyntheticClasses.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/classfiles/InnerClasses/SyntheticClasses.java Thu Apr 24 16:04:44 2014 -0700
@@ -41,7 +41,7 @@
private void run() throws IOException, ConstantPoolException {
File testClasses = new File(System.getProperty("test.classes"));
- for (File classFile : testClasses.listFiles()) {
+ for (File classFile : testClasses.listFiles(f -> f.getName().endsWith(".class"))) {
ClassFile cf = ClassFile.read(classFile);
if (cf.getName().matches(".*\\$[0-9]+")) {
EnclosingMethod_attribute encl =
--- a/langtools/test/tools/javac/diags/examples.not-yet.txt Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/diags/examples.not-yet.txt Thu Apr 24 16:04:44 2014 -0700
@@ -113,3 +113,4 @@
compiler.warn.file.from.future # warning for future modification times on files
compiler.err.cant.inherit.from.anon # error for subclass of anonymous class
compiler.misc.bad.class.file # class file is malformed
+compiler.misc.bad.const.pool.entry # constant pool entry has wrong type
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/LambdaBodyNeitherValueNorVoidCompatible.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.lambda.body.neither.value.nor.void.compatible
+// key: compiler.err.cant.apply.symbol
+// key: compiler.misc.incompatible.ret.type.in.lambda
+// key: compiler.misc.missing.ret.val
+// key: compiler.misc.no.conforming.assignment.exists
+
+class LambdaBodyNeitherValueNorVoidCompatible {
+ interface I {
+ String f(String x);
+ }
+
+ static void foo(I i) {}
+
+ void m() {
+ foo((x) -> {
+ if (x == null) {
+ return;
+ } else {
+ return x;
+ }
+ });
+ }
+}
--- a/langtools/test/tools/javac/lambda/ErroneousLambdaExpr.java Thu Apr 24 12:21:18 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2012, 2013 Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 8003280
- * @summary Add lambda tests
- * stale state after speculative attribution round leads to missing classfiles
- * @compile/fail/ref=ErroneousLambdaExpr.out -XDrawDiagnostics ErroneousLambdaExpr.java
- */
-public class ErroneousLambdaExpr<T> {
-
- static int assertionCount = 0;
-
- static void assertTrue(boolean cond) {
- assertionCount++;
- if (!cond)
- throw new AssertionError();
- }
-
- interface SAM1<X> {
- X m(X t, String s);
- }
-
- interface SAM2 {
- void m(String s, int i);
- }
-
- interface SAM3<X> {
- X m(X t, String s, int i);
- }
-
- void call(SAM1<T> s1) { assertTrue(true); }
-
- void call(SAM2 s2) { assertTrue(false); }
-
- void call(SAM3<T> s3) { assertTrue(false); }
-
- public static void main(String[] args) {
- ErroneousLambdaExpr<StringBuilder> test =
- new ErroneousLambdaExpr<>();
-
- test.call((builder, string) -> { builder.append(string); return builder; });
- assertTrue(assertionCount == 1);
- }
-}
--- a/langtools/test/tools/javac/lambda/ErroneousLambdaExpr.out Thu Apr 24 12:21:18 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-ErroneousLambdaExpr.java:63:13: compiler.err.ref.ambiguous: call, kindname.method, call(ErroneousLambdaExpr.SAM1<T>), ErroneousLambdaExpr, kindname.method, call(ErroneousLambdaExpr.SAM2), ErroneousLambdaExpr
-1 error
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/lambda/LambdaExprLeadsToMissingClassFilesTest.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2012, 2014 Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8003280
+ * @summary Add lambda tests
+ * stale state after speculative attribution round leads to missing classfiles
+ */
+public class LambdaExprLeadsToMissingClassFilesTest<T> {
+
+ static int assertionCount = 0;
+
+ static void assertTrue(boolean cond) {
+ assertionCount++;
+ if (!cond) {
+ throw new AssertionError();
+ }
+ }
+
+ interface SAM1<X> {
+ X m(X t, String s);
+ }
+
+ interface SAM2 {
+ void m(String s, int i);
+ }
+
+ interface SAM3<X> {
+ X m(X t, String s, int i);
+ }
+
+ void call(SAM1<T> s1) { assertTrue(true); }
+
+ void call(SAM2 s2) { assertTrue(false); }
+
+ void call(SAM3<T> s3) { assertTrue(false); }
+
+ public static void main(String[] args) {
+ LambdaExprLeadsToMissingClassFilesTest<StringBuilder> test =
+ new LambdaExprLeadsToMissingClassFilesTest<>();
+
+ test.call((builder, string) -> { builder.append(string); return builder; });
+ assertTrue(assertionCount == 1);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/lambda/MostSpecific09.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,81 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8029718
+ * @summary Should always use lambda body structure to disambiguate overload resolution
+ * @compile/fail/ref=MostSpecific09.out -XDrawDiagnostics -XDshouldStopPolicy=ATTR -XDverboseResolution=applicable,success MostSpecific09.java
+ */
+
+class MostSpecific09 {
+
+ interface I {
+ String xoo(String x);
+ }
+
+ interface J {
+ void xoo(int x);
+ }
+
+ static void foo(I i) {}
+ static void foo(J j) {}
+
+ static void moo(I i) {}
+ static void moo(J j) {}
+
+ void m() {
+ foo((x) -> { return x += 1; });
+ foo((x) -> { return ""; });
+ foo((x) -> { System.out.println(""); });
+ foo((x) -> { return ""; System.out.println(""); });
+ foo((x) -> { throw new RuntimeException(); });
+ foo((x) -> { while (true); });
+
+ foo((x) -> x += 1);
+ foo((x) -> "");
+ }
+
+ /* any return statement that is not in the body of the lambda but in an
+ * inner class or another lambda should be ignored for value void compatibility
+ * determination.
+ */
+ void m1() {
+ boolean cond = true;
+ foo((x) -> {
+ if (cond) {
+ return "";
+ }
+ System.out.println("");
+ });
+
+ foo((x)->{
+ class Bar {
+ String m() {
+ return "from Bar.m()";
+ }
+ }
+ class Boo {
+ Bar b = new Bar (){
+ String m() {
+ return "from Bar$1.m()";
+ }
+ };
+ }
+ moo((y) -> { return ""; });
+ return;
+ });
+
+ foo((x)->{
+ class Bar {
+ void m() {}
+ }
+ class Boo {
+ Bar b = new Bar (){
+ void m() {
+ return;
+ }
+ };
+ }
+ moo((y) -> { System.out.println(""); });
+ return "";
+ });
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/lambda/MostSpecific09.out Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,27 @@
+MostSpecific09.java:25:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.I), null)}
+MostSpecific09.java:26:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.I), null)}
+MostSpecific09.java:27:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.J), null)}
+MostSpecific09.java:27:32: compiler.note.verbose.resolve.multi: println, java.io.PrintStream, 1, BASIC, java.lang.String, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, println(java.lang.Object), null),(compiler.misc.applicable.method.found: 1, println(java.lang.String), null)}
+MostSpecific09.java:28:13: compiler.err.lambda.body.neither.value.nor.void.compatible
+MostSpecific09.java:28:9: compiler.err.cant.apply.symbols: kindname.method, foo, @680,{(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.I), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.missing.ret.val: java.lang.String)))),(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.J), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.unexpected.ret.val)))}
+MostSpecific09.java:28:43: compiler.note.verbose.resolve.multi: println, java.io.PrintStream, 1, BASIC, java.lang.String, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, println(java.lang.Object), null),(compiler.misc.applicable.method.found: 1, println(java.lang.String), null)}
+MostSpecific09.java:29:9: compiler.err.ref.ambiguous: foo, kindname.method, foo(MostSpecific09.I), MostSpecific09, kindname.method, foo(MostSpecific09.J), MostSpecific09
+MostSpecific09.java:29:28: compiler.note.verbose.resolve.multi: <init>, java.lang.RuntimeException, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, java.lang.RuntimeException(), null)}
+MostSpecific09.java:30:9: compiler.err.ref.ambiguous: foo, kindname.method, foo(MostSpecific09.I), MostSpecific09, kindname.method, foo(MostSpecific09.J), MostSpecific09
+MostSpecific09.java:32:9: compiler.err.ref.ambiguous: foo, kindname.method, foo(MostSpecific09.I), MostSpecific09, kindname.method, foo(MostSpecific09.J), MostSpecific09
+MostSpecific09.java:33:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.I), null)}
+MostSpecific09.java:42:13: compiler.err.lambda.body.neither.value.nor.void.compatible
+MostSpecific09.java:42:9: compiler.err.cant.apply.symbols: kindname.method, foo, @1129,{(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.I), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.missing.ret.val: java.lang.String)))),(compiler.misc.inapplicable.method: kindname.method, MostSpecific09, foo(MostSpecific09.J), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.unexpected.ret.val)))}
+MostSpecific09.java:46:23: compiler.note.verbose.resolve.multi: println, java.io.PrintStream, 1, BASIC, java.lang.String, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, println(java.lang.Object), null),(compiler.misc.applicable.method.found: 1, println(java.lang.String), null)}
+MostSpecific09.java:49:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.J), null)}
+MostSpecific09.java:56:25: compiler.note.verbose.resolve.multi: <init>, Bar, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, Bar(), null)}
+MostSpecific09.java:56:35: compiler.note.verbose.resolve.multi: <init>, Bar, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, Bar(), null)}
+MostSpecific09.java:56:25: compiler.note.verbose.resolve.multi: <init>, compiler.misc.anonymous.class: MostSpecific09$1Boo$1, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, compiler.misc.anonymous.class: MostSpecific09$1Boo$1(), null)}
+MostSpecific09.java:62:13: compiler.note.verbose.resolve.multi: moo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, moo(MostSpecific09.I), null)}
+MostSpecific09.java:66:9: compiler.note.verbose.resolve.multi: foo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, foo(MostSpecific09.I), null)}
+MostSpecific09.java:71:25: compiler.note.verbose.resolve.multi: <init>, Bar, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, Bar(), null)}
+MostSpecific09.java:71:35: compiler.note.verbose.resolve.multi: <init>, Bar, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, Bar(), null)}
+MostSpecific09.java:71:25: compiler.note.verbose.resolve.multi: <init>, compiler.misc.anonymous.class: MostSpecific09$2Boo$1, 0, BASIC, compiler.misc.no.args, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, compiler.misc.anonymous.class: MostSpecific09$2Boo$1(), null)}
+MostSpecific09.java:77:13: compiler.note.verbose.resolve.multi: moo, MostSpecific09, 0, BASIC, compiler.misc.type.none, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, moo(MostSpecific09.J), null)}
+MostSpecific09.java:77:36: compiler.note.verbose.resolve.multi: println, java.io.PrintStream, 1, BASIC, java.lang.String, compiler.misc.no.args,{(compiler.misc.applicable.method.found: 0, println(java.lang.Object), null),(compiler.misc.applicable.method.found: 1, println(java.lang.String), null)}
+7 errors
--- a/langtools/test/tools/javac/lambda/TargetType01.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/TargetType01.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -42,6 +42,10 @@
static String M(F_S_S f){ return null; }
static {
- M(x1 -> { return M( x2 -> { return x1 + x2; });}); //ambiguous
+ M(x1 -> {
+ return M( x2 -> {
+ return x1 + x2;
+ });
+ }); //ambiguous
}
}
--- a/langtools/test/tools/javac/lambda/TargetType01.out Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/TargetType01.out Thu Apr 24 16:04:44 2014 -0700
@@ -1,3 +1,3 @@
TargetType01.java:45:9: compiler.err.ref.ambiguous: M, kindname.method, M(TargetType01.F_I_I), TargetType01, kindname.method, M(TargetType01.F_S_S), TargetType01
-TargetType01.java:45:26: compiler.err.ref.ambiguous: M, kindname.method, M(TargetType01.F_I_I), TargetType01, kindname.method, M(TargetType01.F_S_S), TargetType01
+TargetType01.java:46:20: compiler.err.ref.ambiguous: M, kindname.method, M(TargetType01.F_I_I), TargetType01, kindname.method, M(TargetType01.F_S_S), TargetType01
2 errors
--- a/langtools/test/tools/javac/lambda/TargetType02.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/TargetType02.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,31 +1,9 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 8003280
+ * @test /nodynamiccopyright/
+ * @bug 8003280 8029718
* @summary Add lambda tests
* check overload resolution and target type inference w.r.t. generic methods
+ * Should always use lambda body structure to disambiguate overload resolution
* @author Maurizio Cimadamore
* @compile/fail/ref=TargetType02.out -XDrawDiagnostics TargetType02.java
*/
@@ -47,9 +25,18 @@
static <Z extends Number> void call3(S1<Z> s) { }
static <Z extends String> void call3(S2<Z> s) { }
+ static <Z extends Number> Z call4(S1<Z> s) { return null; }
+ static <Z extends String> Z call4(S2<Z> s) { return null; }
+
void test() {
call1(i -> { toString(); return i; });
call2(i -> { toString(); return i; });
call3(i -> { toString(); return i; });
+ call3(i -> {
+ toString();
+ return call4(j -> {
+ return j;
+ });
+ });
}
}
--- a/langtools/test/tools/javac/lambda/TargetType02.out Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/TargetType02.out Thu Apr 24 16:04:44 2014 -0700
@@ -1,3 +1,5 @@
-TargetType02.java:52:14: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.String)
-TargetType02.java:53:9: compiler.err.ref.ambiguous: call3, kindname.method, <Z>call3(TargetType02.S1<Z>), TargetType02, kindname.method, <Z>call3(TargetType02.S2<Z>), TargetType02
-2 errors
+TargetType02.java:33:14: compiler.err.prob.found.req: (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, java.lang.String)
+TargetType02.java:34:9: compiler.err.ref.ambiguous: call3, kindname.method, <Z>call3(TargetType02.S1<Z>), TargetType02, kindname.method, <Z>call3(TargetType02.S2<Z>), TargetType02
+TargetType02.java:35:9: compiler.err.ref.ambiguous: call3, kindname.method, <Z>call3(TargetType02.S1<Z>), TargetType02, kindname.method, <Z>call3(TargetType02.S2<Z>), TargetType02
+TargetType02.java:37:20: compiler.err.ref.ambiguous: call4, kindname.method, <Z>call4(TargetType02.S1<Z>), TargetType02, kindname.method, <Z>call4(TargetType02.S2<Z>), TargetType02
+4 errors
--- a/langtools/test/tools/javac/lambda/TargetType21.out Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/TargetType21.out Thu Apr 24 16:04:44 2014 -0700
@@ -1,7 +1,5 @@
TargetType21.java:28:9: compiler.err.ref.ambiguous: call, kindname.method, call(TargetType21.SAM2), TargetType21, kindname.method, <R,A>call(TargetType21.SAM3<R,A>), TargetType21
-TargetType21.java:31:9: compiler.err.ref.ambiguous: call, kindname.method, call(TargetType21.SAM2), TargetType21, kindname.method, <R,A>call(TargetType21.SAM3<R,A>), TargetType21
-TargetType21.java:32:9: compiler.err.ref.ambiguous: call, kindname.method, call(TargetType21.SAM2), TargetType21, kindname.method, <R,A>call(TargetType21.SAM3<R,A>), TargetType21
-TargetType21.java:32:13: compiler.err.cant.apply.symbol: kindname.method, call, TargetType21.SAM2, @888, kindname.class, TargetType21, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.unexpected.ret.val)))
-TargetType21.java:33:9: compiler.err.ref.ambiguous: call, kindname.method, call(TargetType21.SAM2), TargetType21, kindname.method, <R,A>call(TargetType21.SAM3<R,A>), TargetType21
-TargetType21.java:33:13: compiler.err.cant.apply.symbol: kindname.method, call, TargetType21.SAM2, @946, kindname.class, TargetType21, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.unexpected.ret.val)))
-6 errors
+TargetType21.java:32:9: compiler.err.ref.ambiguous: call, kindname.method, call(TargetType21.SAM1), TargetType21, kindname.method, <R,A>call(TargetType21.SAM3<R,A>), TargetType21
+TargetType21.java:32:13: compiler.err.cant.apply.symbol: kindname.method, call, TargetType21.SAM1, @888, kindname.class, TargetType21, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.inconvertible.types: java.lang.Object, java.lang.String)))
+TargetType21.java:33:9: compiler.err.ref.ambiguous: call, kindname.method, call(TargetType21.SAM1), TargetType21, kindname.method, <R,A>call(TargetType21.SAM3<R,A>), TargetType21
+4 errors
--- a/langtools/test/tools/javac/lambda/TargetType42.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/TargetType42.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,12 +31,18 @@
class TargetType42 {
interface SAM<X, Y> {
- Y f(X x);
+ Y f(X x);
}
<Z> void m(SAM<String, SAM<Z, Object>> s, Z z) { }
void test(Object obj) {
- m((x)->{ class Foo { }; return (x2)-> { new Foo(); return null; }; }, obj);
+ m((x)->{
+ class Foo { }
+ return (x2)-> {
+ new Foo();
+ return null;
+ };
+ }, obj);
}
}
--- a/langtools/test/tools/javac/lambda/lambdaExpression/LambdaTest1.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExpression/LambdaTest1.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,6 @@
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
-import java.util.Date;
public class LambdaTest1 {
--- a/langtools/test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/lambda/lambdaExpression/SamConversionComboTest.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -209,7 +209,11 @@
final JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
DiagnosticChecker dc = new DiagnosticChecker();
JavacTask ct = (JavacTask)tool.getTask(null, null, dc, null, null, Arrays.asList(samSourceFile, clientSourceFile));
- ct.analyze();
+ try {
+ ct.analyze();
+ } catch (Exception e) {
+ throw new AssertionError("failing SAM source file \n" + samSourceFile + "\n\n" + "failing client source file \n"+ clientSourceFile);
+ }
if (dc.errorFound == checkSamConversion()) {
throw new AssertionError(samSourceFile + "\n\n" + clientSourceFile);
}
--- a/langtools/test/tools/javac/tree/DocCommentToplevelTest.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/javac/tree/DocCommentToplevelTest.java Thu Apr 24 16:04:44 2014 -0700
@@ -144,7 +144,8 @@
public ClassTree visitCompilationUnit(CompilationUnitTree node, Void unused) {
docComments = ((JCTree.JCCompilationUnit)node).docComments;
boolean expectedComment = tdk == ToplevelDocKind.HAS_DOC &&
- (pk != PackageKind.NO_PKG || ik != ImportKind.ZERO);
+ pk == PackageKind.NO_PKG &&
+ ik != ImportKind.ZERO;
boolean foundComment = docComments.hasComment((JCTree) node);
if (expectedComment != foundComment) {
error("Unexpected comment " + docComments.getComment((JCTree) node) + " on toplevel");
@@ -153,6 +154,17 @@
}
@Override
+ public ClassTree visitPackage(PackageTree node, Void unused) {
+ boolean expectedComment = tdk == ToplevelDocKind.HAS_DOC &&
+ pk != PackageKind.NO_PKG;
+ boolean foundComment = docComments.hasComment((JCTree) node);
+ if (expectedComment != foundComment) {
+ error("Unexpected comment " + docComments.getComment((JCTree) node) + " on toplevel");
+ }
+ return super.visitPackage(node, null);
+ }
+
+ @Override
public ClassTree visitClass(ClassTree node, Void unused) {
boolean expectedComment = tdk == ToplevelDocKind.HAS_DOC &&
pk == PackageKind.NO_PKG && ik == ImportKind.ZERO &&
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/ExclPattern.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+public class ExclPattern {
+
+ public static void main(String[] ignore) throws IOException {
+
+ String toBeExcluded = "pkg/excl-dir/excluded.txt";
+ String toBeIncluded = "pkg/incl-dir/included.txt";
+
+ // Set up source directory with directory to be excluded
+ populate(Paths.get("srcdir"),
+ "pkg/SomeClass.java",
+ "package pkg; public class SomeClass { }",
+
+ toBeExcluded,
+ "This file should not end up in the dest directory.",
+
+ toBeIncluded,
+ "This file should end up in the dest directory.");
+
+ String[] args = {
+ "-x", "pkg/excl-dir/*",
+ "-src", "srcdir",
+ "-d", "dest",
+ "-j", "1",
+ "-copy", ".txt",
+ "--server:portfile=testserver,background=false",
+ "--log=debug"
+ };
+
+ int rc = new com.sun.tools.sjavac.Main().go(args, System.out, System.err);
+ if (rc != 0) throw new RuntimeException("Error during compile!");
+
+ if (!Files.exists(Paths.get("dest/" + toBeIncluded)))
+ throw new AssertionError("File missing: " + toBeIncluded);
+
+ if (Files.exists(Paths.get("dest/" + toBeExcluded)))
+ throw new AssertionError("File present: " + toBeExcluded);
+ }
+
+ static void populate(Path root, String... args) throws IOException {
+ if (!Files.exists(root))
+ Files.createDirectory(root);
+ for (int i = 0; i < args.length; i += 2) {
+ String filename = args[i];
+ String content = args[i+1];
+ Path p = root.resolve(filename);
+ Files.createDirectories(p.getParent());
+ try (PrintWriter out = new PrintWriter(Files.newBufferedWriter(p,
+ Charset.defaultCharset()))) {
+ out.println(content);
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/ExclPatternWrapper.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8037085
+ * @summary Ensures that sjavac can handle various exclusion patterns.
+ * @run main ExclPatternWrapper
+ */
+public class ExclPatternWrapper {
+ public static void main(String... args) throws Exception {
+ SJavacTestUtil.runSjavacTest("ExclPattern", args);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/JavacOptionPrep.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,166 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.Iterator;
+
+import com.sun.tools.sjavac.options.Options;
+
+
+public class JavacOptionPrep {
+
+ enum TestPath {
+ CP1, CP2, SRC1, SRC2, SOURCEPATH1, SOURCEPATH2;
+
+ public String toString() {
+ return name().toLowerCase();
+ }
+ }
+
+ private final static String SEP = File.pathSeparator;
+
+ public static void main(String[] unused) throws IOException {
+
+ for (TestPath p : TestPath.values())
+ Files.createDirectory(Paths.get(p.toString()));
+
+ // Test some various cases:
+ // - Paths combined with File.pathSeparator (CP1 / CP2)
+ // - Paths given as duplicate options (SOURCEPATH1 / SOURCEPATH2)
+ // - Sources provided by -src (SRC1)
+ // - Sources provided without preceding option (SRC2)
+ // - An unrecognized option which is to be passed on to javac
+ String sjavacArgs = "-cp " + TestPath.CP1 + SEP + TestPath.CP2 +
+ " -d dest " +
+ " -h header" +
+ " -sourcepath " + TestPath.SOURCEPATH1 +
+ " -src " + TestPath.SRC1 +
+ " -s gensrc" +
+ " -sourcepath " + TestPath.SOURCEPATH2 +
+ " " + TestPath.SRC2 +
+ " -unrecognized";
+
+ Options options = Options.parseArgs(sjavacArgs.split(" "));
+
+ // Extract javac-options
+ String[] javacArgs = options.prepJavacArgs();
+
+ // Check the result
+ boolean destDirFound = false;
+ boolean headerDirFound = false;
+ boolean gensrcDirFound = false;
+ boolean classPathFound = false;
+ boolean sourcePathFound = false;
+ boolean unrecognizedFound = false;
+ boolean implicitNoneFound = false;
+
+ Iterator<String> javacArgIter = Arrays.asList(javacArgs).iterator();
+ while (javacArgIter.hasNext()) {
+
+ String option = javacArgIter.next();
+
+ switch (option) {
+ case "-classpath":
+ case "-cp":
+ classPathFound = true;
+ assertEquals(TestPath.CP1 + SEP + TestPath.CP2,
+ javacArgIter.next());
+ break;
+
+ case "-d":
+ destDirFound = true;
+ assertEquals(Paths.get("dest").toAbsolutePath().toString(),
+ javacArgIter.next());
+ break;
+
+ case "-h":
+ headerDirFound = true;
+ assertEquals(Paths.get("header").toAbsolutePath().toString(),
+ javacArgIter.next());
+ break;
+
+ case "-s":
+ gensrcDirFound = true;
+ assertEquals(Paths.get("gensrc").toAbsolutePath().toString(),
+ javacArgIter.next());
+ break;
+
+ case "-sourcepath":
+ sourcePathFound = true;
+ assertEquals(TestPath.SRC1 + SEP +
+ TestPath.SRC2 + SEP +
+ TestPath.SOURCEPATH1 + SEP +
+ TestPath.SOURCEPATH2,
+ javacArgIter.next());
+ break;
+
+ case "-unrecognized":
+ unrecognizedFound = true;
+ break;
+
+ case "-implicit:none":
+ implicitNoneFound = true;
+ break;
+
+ // Note that *which* files to actually compile is not dealt
+ // with by prepJavacArgs.
+
+ default:
+ throw new AssertionError("Unexpected option found: " + option);
+ }
+ }
+
+ if (!destDirFound)
+ throw new AssertionError("Dest directory not found.");
+
+ if (!headerDirFound)
+ throw new AssertionError("Header directory not found.");
+
+ if (!gensrcDirFound)
+ throw new AssertionError("Generated source directory not found.");
+
+ if (!classPathFound)
+ throw new AssertionError("Class path not found.");
+
+ if (!sourcePathFound)
+ throw new AssertionError("Source path not found.");
+
+ if (!unrecognizedFound)
+ throw new AssertionError("\"-unrecognized\" not found.");
+
+ if (!implicitNoneFound)
+ throw new AssertionError("\"-implicit:none\" not found.");
+
+ }
+
+ static void assertEquals(Object expected, Object actual) {
+ if (!expected.equals(actual))
+ throw new AssertionError("Expected " + expected + " but got " + actual);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/JavacOptionPrepWrapper.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8035063
+ * @summary Tests the preparation of javac-arguments.
+ * @run main JavacOptionPrepWrapper
+ */
+public class JavacOptionPrepWrapper {
+ public static void main(String... args) throws Exception {
+ SJavacTestUtil.runSjavacTest("JavacOptionPrep", args);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/OptionDecoding.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,240 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import static util.OptionTestUtil.assertEquals;
+import static util.OptionTestUtil.checkFilesFound;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.sun.tools.sjavac.CopyFile;
+import com.sun.tools.sjavac.Main;
+import com.sun.tools.sjavac.Module;
+import com.sun.tools.sjavac.Source;
+import com.sun.tools.sjavac.options.Options;
+import com.sun.tools.sjavac.options.SourceLocation;
+
+public class OptionDecoding {
+
+ public static void main(String[] args) throws IOException {
+
+ testPaths();
+ testDupPaths();
+ testSourceLocations();
+ testSimpleOptions();
+ testServerConf();
+ testSearchPaths();
+ testTranslationRules();
+
+ }
+
+ // Test decoding of output paths
+ static void testPaths() throws IOException {
+
+ final String H = "headers";
+ final String G = "gensrc";
+ final String D = "dest";
+ final String CMP = "srcRefList.txt";
+
+ Options options = Options.parseArgs("-h", H, "-s", G, "-d", D,
+ "--compare-found-sources", CMP);
+
+ assertEquals(Paths.get(H).toAbsolutePath(), options.getHeaderDir());
+ assertEquals(Paths.get(G).toAbsolutePath(), options.getGenSrcDir());
+ assertEquals(Paths.get(D).toAbsolutePath(), options.getDestDir());
+ assertEquals(Paths.get(CMP), options.getSourceReferenceList());
+
+ }
+
+ // Providing duplicate header / dest / gensrc paths should produce an error.
+ static void testDupPaths() throws IOException {
+
+ try {
+ Options.parseArgs("-h", "dir1", "-h", "dir2");
+ throw new RuntimeException("Duplicate header directories should fail.");
+ } catch (IllegalArgumentException iae) {
+ // Expected
+ }
+
+ try {
+ Options.parseArgs("-s", "dir1", "-s", "dir2");
+ throw new RuntimeException("Duplicate paths for generated sources should fail.");
+ } catch (IllegalArgumentException iae) {
+ // Expected
+ }
+
+ try {
+ Options.parseArgs("-d", "dir1", "-d", "dir2");
+ throw new RuntimeException("Duplicate destination directories should fail.");
+ } catch (IllegalArgumentException iae) {
+ // Expected
+ }
+
+ }
+
+ // Test source locations and -x, -i, -xf, -if filters
+ static void testSourceLocations() throws IOException {
+
+ Path a1 = Paths.get("root/pkg1/ClassA1.java");
+ Path a2 = Paths.get("root/pkg1/ClassA2.java");
+ Path b1 = Paths.get("root/pkg1/pkg2/ClassB1.java");
+ Path b2 = Paths.get("root/pkg1/pkg2/ClassB2.java");
+ Path c1 = Paths.get("root/pkg3/ClassC1.java");
+ Path c2 = Paths.get("root/pkg3/ClassC2.java");
+
+ for (Path p : Arrays.asList(a1, a2, b1, b2, c1, c2)) {
+ Files.createDirectories(p.getParent());
+ Files.createFile(p);
+ }
+
+ // Test -if
+ {
+ Options options = Options.parseArgs("-if", "root/pkg1/ClassA1.java", "root");
+
+ Map<String, Source> foundFiles = new HashMap<>();
+ Main.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ new HashMap<String, Module>(), new Module("", ""), false, true);
+
+ checkFilesFound(foundFiles.keySet(), a1);
+ }
+
+ // Test -i
+ System.out.println("--------------------------- CHECKING -i ----------------");
+ {
+ Options options = Options.parseArgs("-i", "pkg1/*", "root");
+
+ Map<String, Source> foundFiles = new HashMap<>();
+ Main.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ new HashMap<String, Module>(), new Module("", ""), false, true);
+
+ checkFilesFound(foundFiles.keySet(), a1, a2, b1, b2);
+ }
+ System.out.println("--------------------------------------------------------");
+
+ // Test -xf
+ {
+ Options options = Options.parseArgs("-xf", "root/pkg1/ClassA1.java", "root");
+
+ Map<String, Source> foundFiles = new HashMap<>();
+ Main.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ new HashMap<String, Module>(), new Module("", ""), false, true);
+
+ checkFilesFound(foundFiles.keySet(), a2, b1, b2, c1, c2);
+ }
+
+ // Test -x
+ {
+ Options options = Options.parseArgs("-i", "pkg1/*", "root");
+
+ Map<String, Source> foundFiles = new HashMap<>();
+ Main.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ new HashMap<String, Module>(), new Module("", ""), false, true);
+
+ checkFilesFound(foundFiles.keySet(), a1, a2, b1, b2);
+ }
+
+ // Test -x and -i
+ {
+ Options options = Options.parseArgs("-i", "pkg1/*", "-x", "pkg1/pkg2/*", "root");
+
+ Map<String, Source> foundFiles = new HashMap<>();
+ Main.findSourceFiles(options.getSources(), Collections.singleton(".java"), foundFiles,
+ new HashMap<String, Module>(), new Module("", ""), false, true);
+
+ checkFilesFound(foundFiles.keySet(), a1, a2);
+ }
+
+ }
+
+ // Test basic options
+ static void testSimpleOptions() {
+
+ Options options = Options.parseArgs("-j", "17", "--log=debug");
+ assertEquals(17, options.getNumCores());
+ assertEquals("debug", options.getLogLevel());
+ assertEquals(false, options.isDefaultPackagePermitted());
+ assertEquals(false, options.isUnidentifiedArtifactPermitted());
+
+ options = Options.parseArgs("--permit-unidentified-artifacts",
+ "--permit-sources-without-package");
+ assertEquals("info", options.getLogLevel());
+ assertEquals(true, options.isDefaultPackagePermitted());
+ assertEquals(true, options.isUnidentifiedArtifactPermitted());
+ }
+
+ // Test server configuration options
+ static void testServerConf() {
+ Options options = Options.parseArgs("--server:someServerConfiguration");
+ assertEquals("someServerConfiguration", options.getServerConf());
+ assertEquals(false, options.startServerFlag());
+
+ options = Options.parseArgs("--startserver:someServerConfiguration");
+ assertEquals("someServerConfiguration", options.getServerConf());
+ assertEquals(true, options.startServerFlag());
+ }
+
+ // Test input paths
+ static void testSearchPaths() {
+
+ List<String> i, x, iF, xF;
+ i = x = iF = xF = new ArrayList<>();
+
+ SourceLocation dir1 = new SourceLocation(Paths.get("dir1"), i, x, iF, xF);
+ SourceLocation dir2 = new SourceLocation(Paths.get("dir2"), i, x, iF, xF);
+
+ Options options = Options.parseArgs("-sourcepath", "dir1:dir2");
+ assertEquals(options.getSourceSearchPaths(), Arrays.asList(dir1, dir2));
+
+ options = Options.parseArgs("-modulepath", "dir1:dir2");
+ assertEquals(options.getModuleSearchPaths(), Arrays.asList(dir1, dir2));
+
+ options = Options.parseArgs("-classpath", "dir1:dir2");
+ assertEquals(options.getClassSearchPath(), Arrays.asList(dir1, dir2));
+ }
+
+ // Test -tr option
+ static void testTranslationRules() {
+
+ Class<?> cls = com.sun.tools.sjavac.CompileJavaPackages.class;
+
+ Options options = Options.parseArgs(
+ "-tr", ".exa=" + cls.getName(),
+ "-tr", ".exb=" + cls.getName(),
+ "-copy", ".html");
+
+ assertEquals(cls, options.getTranslationRules().get(".exa").getClass());
+ assertEquals(cls, options.getTranslationRules().get(".exb").getClass());
+ assertEquals(CopyFile.class, options.getTranslationRules().get(".html").getClass());
+
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/OptionDecodingWrapper.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8035063
+ * @summary Tests decoding of String[] into Options.
+ * @run main OptionDecodingWrapper
+ */
+public class OptionDecodingWrapper {
+ public static void main(String... args) throws Exception {
+ SJavacTestUtil.runSjavacTest("OptionDecoding", args);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/SJavacTestUtil.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.File;
+import java.lang.reflect.Method;
+
+
+public class SJavacTestUtil {
+
+ public static void runSjavacTest(String testClassName, String[] args)
+ throws Exception {
+
+ if (!isSJavacOnClassPath()) {
+ System.out.println("sjavac not available: pass by default");
+ return;
+ }
+
+ File srcDir = new File(System.getProperty("test.src"));
+ File clsDir = new File(System.getProperty("test.classes"));
+
+ File src = new File(srcDir, testClassName + ".java");
+ File cls = new File(clsDir, testClassName + ".class");
+
+ if (cls.lastModified() < src.lastModified()) {
+ System.err.println("Recompiling test class...");
+ String[] javacArgs = { "-d", clsDir.getPath(), src.getPath() };
+ int rc = com.sun.tools.javac.Main.compile(javacArgs);
+ if (rc != 0)
+ throw new Exception("compilation failed");
+ }
+
+ Class<?> sjavac = Class.forName(testClassName);
+ Method main = sjavac.getMethod("main", String[].class);
+ main.invoke(null, new Object[] { args });
+
+ }
+
+ private static boolean isSJavacOnClassPath() {
+ String cls = "com/sun/tools/sjavac/Main.class";
+ return SJavacTestUtil.class.getClassLoader().getResource(cls) != null;
+ }
+}
--- a/langtools/test/tools/sjavac/SJavacWrapper.java Thu Apr 24 12:21:18 2014 -0700
+++ b/langtools/test/tools/sjavac/SJavacWrapper.java Thu Apr 24 16:04:44 2014 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -31,37 +31,8 @@
* @run main SJavacWrapper
*/
-import java.io.*;
-import java.lang.reflect.Method;
-import java.net.*;
-
-
-public
-class SJavacWrapper {
-
+public class SJavacWrapper {
public static void main(String... args) throws Exception {
- URL url = SJavacWrapper.class.getClassLoader().getResource("com/sun/tools/sjavac/Main.class");
- if (url == null) {
- // No sjavac in the classpath.
- System.out.println("sjavac not available: pass by default");
- return;
- }
-
- File testSrc = new File(System.getProperty("test.src"));
- File sjavac_java = new File(testSrc, "SJavac.java");
- File testClasses = new File(System.getProperty("test.classes"));
- File sjavac_class = new File(testClasses, "SJavac.class");
- if (sjavac_class.lastModified() < sjavac_java.lastModified()) {
- String[] javac_args = { "-d", testClasses.getPath(), sjavac_java.getPath() };
- System.err.println("Recompiling SJavac.java");
- int rc = com.sun.tools.javac.Main.compile(javac_args);
- if (rc != 0)
- throw new Exception("compilation failed");
- }
-
- Class<?> sjavac = Class.forName("SJavac");
- Method sjavac_main = sjavac.getMethod("main", String[].class);
- sjavac_main.invoke(null, new Object[] { args });
+ SJavacTestUtil.runSjavacTest("SJavac", args);
}
-
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/Serialization.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import static util.OptionTestUtil.assertEquals;
+
+import java.io.IOException;
+import java.util.Map;
+
+import com.sun.tools.sjavac.CompileJavaPackages;
+import com.sun.tools.sjavac.Transformer;
+import com.sun.tools.sjavac.options.Option;
+import com.sun.tools.sjavac.options.Options;
+import com.sun.tools.sjavac.options.SourceLocation;
+
+
+public class Serialization {
+
+ public static void main(String[] args) throws IOException {
+
+ // Create reference options
+ Options options1 = Options.parseArgs(
+ Option.H.arg, "headers",
+ Option.S.arg, "gensrc",
+ Option.D.arg, "dest",
+ Option.I.arg, "pkg/*",
+ Option.X.arg, "pkg/pkg/*",
+ Option.IF.arg, "root/pkg/MyClass1.java",
+ Option.XF.arg, "root/pkg/MyClass2.java",
+ Option.SRC.arg, "root",
+ Option.SOURCEPATH.arg, "sourcepath",
+ Option.CLASSPATH.arg, "classpath",
+ Option.MODULEPATH.arg, "modulepath",
+ Option.PERMIT_SOURCES_WITHOUT_PACKAGE.arg,
+ Option.PERMIT_UNIDENTIFIED_ARTIFACTS.arg,
+ Option.TR.arg, ".prop=" + CompileJavaPackages.class.getName(),
+ Option.J.arg, "999",
+ "-someJavacArg",
+ "-someOtherJavacArg");
+
+ // Serialize
+ String serialized = options1.getStateArgsString();
+
+ // Deserialize
+ Options options2 = Options.parseArgs(serialized.split(" "));
+
+ // Make sure we got the same result
+ assertEquals(options1.getHeaderDir(), options2.getHeaderDir());
+ assertEquals(options1.getGenSrcDir(), options2.getGenSrcDir());
+ assertEquals(options1.getDestDir(), options2.getDestDir());
+
+ SourceLocation sl1 = options1.getSources().get(0);
+ SourceLocation sl2 = options2.getSources().get(0);
+ assertEquals(sl1.getPath(), sl2.getPath());
+ assertEquals(sl1.getIncludes(), sl2.getIncludes());
+ assertEquals(sl1.getExcludes(), sl2.getExcludes());
+ assertEquals(sl1.getIncludedFiles(), sl2.getIncludedFiles());
+ assertEquals(sl1.getExcludedFiles(), sl2.getExcludedFiles());
+
+ assertEquals(options1.getClassSearchPath(), options2.getClassSearchPath());
+ assertEquals(options1.getSourceSearchPaths(), options2.getSourceSearchPaths());
+ assertEquals(options1.getModuleSearchPaths(), options2.getModuleSearchPaths());
+
+ Map<String, Transformer> trRules1 = options1.getTranslationRules();
+ Map<String, Transformer> trRules2 = options2.getTranslationRules();
+ assertEquals(trRules1.keySet(), trRules2.keySet());
+ assertEquals(trRules1.values().iterator().next().getClass(),
+ trRules2.values().iterator().next().getClass());
+ assertEquals(options1.getJavacArgs(), options2.getJavacArgs());
+
+ assertEquals(999, options1.getNumCores());
+ if (options2.getNumCores() == 999)
+ throw new AssertionError("Num cores should not be part of serialization");
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/SerializationWrapper.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8035063
+ *
+ * @summary Tests serialization of options. The options needs to be serialized
+ * and saved in the state file since the files need to be recompiled
+ * if new options are provided.
+ *
+ * @run main SerializationWrapper
+ */
+public class SerializationWrapper {
+ public static void main(String... args) throws Exception {
+ SJavacTestUtil.runSjavacTest("Serialization", args);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/sjavac/util/OptionTestUtil.java Thu Apr 24 16:04:44 2014 -0700
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package util;
+
+import java.nio.file.Path;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+
+import com.sun.tools.sjavac.options.SourceLocation;
+
+
+public class OptionTestUtil {
+
+ public static void checkFilesFound(Collection<String> found, Path... expected) {
+
+ Collection<String> expectedStrs = new HashSet<String>();
+ for (Path p : expected)
+ expectedStrs.add(p.toString());
+
+ if (!expectedStrs.containsAll(found))
+ throw new AssertionError("Expected (" + expectedStrs + ") does not " +
+ "contain all actual (" + found + ")");
+
+ if (!found.containsAll(expectedStrs))
+ throw new AssertionError("Actual (" + found + ") does not " +
+ "contain all expected (" + expectedStrs + ")");
+ }
+
+ public static void assertEquals(List<SourceLocation> expected, List<SourceLocation> actual) {
+ if (expected.size() != actual.size())
+ throw new AssertionError("Expected locs of length " + expected.size() + " but got something of size " + actual.size());
+
+ Iterator<SourceLocation> iter1 = expected.iterator();
+ Iterator<SourceLocation> iter2 = actual.iterator();
+
+ while (iter1.hasNext()) {
+ SourceLocation sl1 = iter1.next();
+ SourceLocation sl2 = iter2.next();
+
+ if (!sl1.getPath().equals(sl2.getPath()) ||
+ !sl1.getIncludes().equals(sl2.getIncludes()) ||
+ !sl1.getExcludes().equals(sl2.getExcludes()) ||
+ !sl1.getIncludedFiles().equals(sl2.getIncludedFiles()) ||
+ !sl1.getExcludedFiles().equals(sl2.getExcludedFiles()))
+ throw new AssertionError("Expected " + sl1 + " but got " + sl2);
+ }
+ }
+
+ public static void assertEquals(Object expected, Object actual) {
+ if (!expected.equals(actual))
+ throw new AssertionError("Expected " + expected + " but got " + actual);
+ }
+
+}