--- a/langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, 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,9 +34,9 @@
* Represents a type in the Java programming language.
* Types include primitive types, declared types (class and interface types),
* array types, type variables, and the null type.
- * Also represented are wildcard type arguments,
- * the signature and return types of executables,
- * and pseudo-types corresponding to packages and to the keyword {@code void}.
+ * Also represented are wildcard type arguments, the signature and
+ * return types of executables, and pseudo-types corresponding to
+ * packages, modules, and the keyword {@code void}.
*
* <p> Types should be compared using the utility methods in {@link
* Types}. There is no guarantee that any particular type will always
--- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/Types.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/Types.java Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, 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
@@ -91,7 +91,7 @@
* @param t2 the second type
* @return {@code true} if and only if the first type is a subtype
* of the second
- * @throws IllegalArgumentException if given an executable or package type
+ * @throws IllegalArgumentException if given a type for an executable, package, or module
* @jls 4.10 Subtyping
*/
boolean isSubtype(TypeMirror t1, TypeMirror t2);
@@ -103,7 +103,7 @@
* @param t2 the second type
* @return {@code true} if and only if the first type is assignable
* to the second
- * @throws IllegalArgumentException if given an executable or package type
+ * @throws IllegalArgumentException if given a type for an executable, package, or module
* @jls 5.2 Assignment Conversion
*/
boolean isAssignable(TypeMirror t1, TypeMirror t2);
@@ -114,7 +114,7 @@
* @param t1 the first type
* @param t2 the second type
* @return {@code true} if and only if the first type contains the second
- * @throws IllegalArgumentException if given an executable or package type
+ * @throws IllegalArgumentException if given a type for an executable, package, or module
* @jls 4.5.1.1 Type Argument Containment and Equivalence
*/
boolean contains(TypeMirror t1, TypeMirror t2);
@@ -139,7 +139,7 @@
*
* @param t the type being examined
* @return the direct supertypes, or an empty list if none
- * @throws IllegalArgumentException if given an executable or package type
+ * @throws IllegalArgumentException if given a type for an executable, package, or module
* @jls 4.10 Subtyping
*/
List<? extends TypeMirror> directSupertypes(TypeMirror t);
@@ -149,7 +149,7 @@
*
* @param t the type to be erased
* @return the erasure of the given type
- * @throws IllegalArgumentException if given a package type
+ * @throws IllegalArgumentException if given a type for a package or module
* @jls 4.6 Type Erasure
*/
TypeMirror erasure(TypeMirror t);
@@ -181,7 +181,7 @@
*
* @param t the type to be converted
* @return the result of applying capture conversion
- * @throws IllegalArgumentException if given an executable or package type
+ * @throws IllegalArgumentException if given a type for an executable, package, or module
* @jls 5.1.10 Capture Conversion
*/
TypeMirror capture(TypeMirror t);
@@ -206,9 +206,14 @@
* Returns a pseudo-type used where no actual type is appropriate.
* The kind of type to return may be either
* {@link TypeKind#VOID VOID} or {@link TypeKind#NONE NONE}.
- * For packages, use
- * {@link Elements#getPackageElement(CharSequence)}{@code .asType()}
- * instead.
+ *
+ * <p>To get the pseudo-type corresponding to a package or module,
+ * call {@code asType()} on the element modeling the {@linkplain
+ * PackageElement package} or {@linkplain ModuleElement
+ * module}. Names can be converted to elements for packages or
+ * modules using {@link Elements#getPackageElement(CharSequence)}
+ * or {@link Elements#getModuleElement(CharSequence)},
+ * respectively.
*
* @param kind the kind of type to return
* @return a pseudo-type of kind {@code VOID} or {@code NONE}
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2017, 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
@@ -41,8 +41,10 @@
dc.exception.not.thrown = \u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u3066\u3044\u307E\u305B\u3093: {0}
dc.invalid.anchor = \u30A2\u30F3\u30AB\u30FC\u306E\u540D\u524D\u304C\u7121\u52B9\u3067\u3059: "{0}"
dc.invalid.param = \u7121\u52B9\u306A@param\u306E\u4F7F\u7528
+dc.invalid.provides = \u7121\u52B9\u306A@provides\u306E\u4F7F\u7528
dc.invalid.return = \u7121\u52B9\u306A@return\u306E\u4F7F\u7528
dc.invalid.throws = \u7121\u52B9\u306A@throws\u306E\u4F7F\u7528
+dc.invalid.uses = \u7121\u52B9\u306A@uses\u306E\u4F7F\u7528
dc.invalid.uri = \u7121\u52B9\u306AURI: "{0}"
dc.missing.comment = \u30B3\u30E1\u30F3\u30C8\u306A\u3057
dc.missing.param = {0}\u306E@param\u304C\u3042\u308A\u307E\u305B\u3093
@@ -52,6 +54,7 @@
dc.no.summary.or.caption.for.table=\u8868\u306E\u8981\u7D04\u307E\u305F\u306F\u30AD\u30E3\u30D7\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u305B\u3093
dc.param.name.not.found = @param name\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
dc.ref.not.found = \u53C2\u7167\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+dc.service.not.found = \u30B5\u30FC\u30D3\u30B9\u30FB\u30BF\u30A4\u30D7\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
dc.tag.code.within.code = <code>\u5185\u306E'{@code'}
dc.tag.empty = \u7A7A\u306E<{0}>\u30BF\u30B0
dc.tag.end.not.permitted = \u7121\u52B9\u306A\u7D42\u4E86\u30BF\u30B0: </{0}>
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2017, 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
@@ -41,8 +41,10 @@
dc.exception.not.thrown = \u672A\u629B\u51FA\u5F02\u5E38\u9519\u8BEF: {0}
dc.invalid.anchor = \u951A\u5B9A\u70B9\u7684\u540D\u79F0\u65E0\u6548: "{0}"
dc.invalid.param = @param \u7684\u7528\u6CD5\u65E0\u6548
+dc.invalid.provides = @provides \u7684\u7528\u6CD5\u65E0\u6548
dc.invalid.return = @return \u7684\u7528\u6CD5\u65E0\u6548
dc.invalid.throws = @throws \u7684\u7528\u6CD5\u65E0\u6548
+dc.invalid.uses = @uses \u7684\u7528\u6CD5\u65E0\u6548
dc.invalid.uri = URI \u65E0\u6548: "{0}"
dc.missing.comment = \u6CA1\u6709\u6CE8\u91CA
dc.missing.param = {0}\u6CA1\u6709 @param
@@ -52,6 +54,7 @@
dc.no.summary.or.caption.for.table=\u8868\u6CA1\u6709\u6982\u8981\u6216\u6807\u9898
dc.param.name.not.found = @param name \u672A\u627E\u5230
dc.ref.not.found = \u627E\u4E0D\u5230\u5F15\u7528
+dc.service.not.found = \u627E\u4E0D\u5230\u670D\u52A1\u7C7B\u578B
dc.tag.code.within.code = '{@code'} \u5728 <code> \u4E2D
dc.tag.empty = <{0}> \u6807\u8BB0\u4E3A\u7A7A
dc.tag.end.not.permitted = \u65E0\u6548\u7684\u7ED3\u675F\u6807\u8BB0: </{0}>
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacTypes.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/model/JavacTypes.java Thu Feb 23 17:30:09 2017 +0000
@@ -93,22 +93,22 @@
@DefinedBy(Api.LANGUAGE_MODEL)
public boolean isSubtype(TypeMirror t1, TypeMirror t2) {
- validateTypeNotIn(t1, EXEC_OR_PKG);
- validateTypeNotIn(t2, EXEC_OR_PKG);
+ validateTypeNotIn(t1, EXEC_OR_PKG_OR_MOD);
+ validateTypeNotIn(t2, EXEC_OR_PKG_OR_MOD);
return types.isSubtype((Type) t1, (Type) t2);
}
@DefinedBy(Api.LANGUAGE_MODEL)
public boolean isAssignable(TypeMirror t1, TypeMirror t2) {
- validateTypeNotIn(t1, EXEC_OR_PKG);
- validateTypeNotIn(t2, EXEC_OR_PKG);
+ validateTypeNotIn(t1, EXEC_OR_PKG_OR_MOD);
+ validateTypeNotIn(t2, EXEC_OR_PKG_OR_MOD);
return types.isAssignable((Type) t1, (Type) t2);
}
@DefinedBy(Api.LANGUAGE_MODEL)
public boolean contains(TypeMirror t1, TypeMirror t2) {
- validateTypeNotIn(t1, EXEC_OR_PKG);
- validateTypeNotIn(t2, EXEC_OR_PKG);
+ validateTypeNotIn(t1, EXEC_OR_PKG_OR_MOD);
+ validateTypeNotIn(t2, EXEC_OR_PKG_OR_MOD);
return types.containsType((Type) t1, (Type) t2);
}
@@ -119,7 +119,7 @@
@DefinedBy(Api.LANGUAGE_MODEL)
public List<Type> directSupertypes(TypeMirror t) {
- validateTypeNotIn(t, EXEC_OR_PKG);
+ validateTypeNotIn(t, EXEC_OR_PKG_OR_MOD);
Type ty = (Type)t;
return types.directSupertypes(ty).stream()
.map(Type::stripMetadataIfNeeded)
@@ -128,7 +128,8 @@
@DefinedBy(Api.LANGUAGE_MODEL)
public TypeMirror erasure(TypeMirror t) {
- if (t.getKind() == TypeKind.PACKAGE)
+ TypeKind kind = t.getKind();
+ if (kind == TypeKind.PACKAGE || kind == TypeKind.MODULE)
throw new IllegalArgumentException(t.toString());
return types.erasure((Type)t).stripMetadataIfNeeded();
}
@@ -150,7 +151,7 @@
@DefinedBy(Api.LANGUAGE_MODEL)
public TypeMirror capture(TypeMirror t) {
- validateTypeNotIn(t, EXEC_OR_PKG);
+ validateTypeNotIn(t, EXEC_OR_PKG_OR_MOD);
return types.capture((Type)t).stripMetadataIfNeeded();
}
@@ -192,6 +193,7 @@
case EXECUTABLE:
case WILDCARD: // heh!
case PACKAGE:
+ case MODULE:
throw new IllegalArgumentException(componentType.toString());
}
return new Type.ArrayType((Type) componentType, syms.arrayClass);
@@ -299,8 +301,8 @@
}
- private static final Set<TypeKind> EXEC_OR_PKG =
- EnumSet.of(TypeKind.EXECUTABLE, TypeKind.PACKAGE);
+ private static final Set<TypeKind> EXEC_OR_PKG_OR_MOD =
+ EnumSet.of(TypeKind.EXECUTABLE, TypeKind.PACKAGE, TypeKind.MODULE);
/**
* Throws an IllegalArgumentException if a type's kind is one of a set.
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2017, 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
@@ -593,14 +593,66 @@
compiler.err.not.annotation.type={0}\u306F\u6CE8\u91C8\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+# 0: symbol, 1: symbol, 2: message segment
+compiler.err.not.def.access.package.cant.access={0} \u306F\u8868\u793A\u4E0D\u53EF\u3067\u3059\n({2})
+
+# 0: symbol, 1: symbol, 2: message segment
+compiler.misc.not.def.access.package.cant.access={0} \u306F\u8868\u793A\u4E0D\u53EF\u3067\u3059\n({2})
+
+# 0: symbol, 1: message segment
+compiler.err.package.not.visible=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u8868\u793A\u4E0D\u53EF\u3067\u3059\n({1})
+
+# 0: symbol, 1: message segment
+compiler.misc.package.not.visible=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u8868\u793A\u4E0D\u53EF\u3067\u3059\n({1})
+
+# {0} - current module
+# {1} - package in which the invisible class is declared
+# {2} - module in which {1} is declared
+# 0: symbol, 1: symbol, 2: symbol
+compiler.misc.not.def.access.does.not.read=\u30D1\u30C3\u30B1\u30FC\u30B8{1}\u306F\u30E2\u30B8\u30E5\u30FC\u30EB{2}\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306B\u8AAD\u307F\u8FBC\u307E\u308C\u3066\u3044\u307E\u305B\u3093
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
# 0: symbol, 1: symbol
-compiler.err.not.def.access.package.cant.access=\u30D1\u30C3\u30B1\u30FC\u30B8{1}\u304C\u53EF\u8996\u3067\u306F\u306A\u3044\u305F\u3081\u3001{0}\u306F\u53EF\u8996\u3067\u306F\u3042\u308A\u307E\u305B\u3093
+compiler.misc.not.def.access.does.not.read.from.unnamed=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u30E2\u30B8\u30E5\u30FC\u30EB{1}\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30B0\u30E9\u30D5\u306B\u3042\u308A\u307E\u305B\u3093
+
+# {0} - package in which the invisible class is declared
+# {1} - current module
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.does.not.read.unnamed=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306B\u8AAD\u307F\u8FBC\u307E\u308C\u3066\u3044\u307E\u305B\u3093
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.not.exported=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u30E2\u30B8\u30E5\u30FC\u30EB{1}\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.not.exported.from.unnamed=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u30E2\u30B8\u30E5\u30FC\u30EB{1}\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# {2} - current module
+# 0: symbol, 1: symbol, 2: symbol
+compiler.misc.not.def.access.not.exported.to.module=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u30E2\u30B8\u30E5\u30FC\u30EB{1}\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u30E2\u30B8\u30E5\u30FC\u30EB{2}\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.not.exported.to.module.from.unnamed=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u30E2\u30B8\u30E5\u30FC\u30EB{1}\u3067\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
# 0: symbol, 1: symbol
-compiler.err.not.def.access.class.intf.cant.access={1}\u306E{0}\u304C\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.err.not.def.access.class.intf.cant.access={1}.{0}\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
# 0: symbol, 1: symbol
-compiler.misc.not.def.access.class.intf.cant.access={1}\u306E{0}\u304C\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+compiler.misc.not.def.access.class.intf.cant.access={1}.{0}\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
+
+# 0: symbol, 1: symbol, 2: symbol, 3: message segment
+compiler.err.not.def.access.class.intf.cant.access.reason=\u30D1\u30C3\u30B1\u30FC\u30B8{2}\u306E{1}.{0}\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n({3})
+
+# 0: symbol, 1: symbol, 2: symbol, 3: message segment
+compiler.misc.not.def.access.class.intf.cant.access.reason=\u30D1\u30C3\u30B1\u30FC\u30B8{2}\u306E{1}.{0}\u306B\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n({3})
# 0: symbol, 1: list of type, 2: type
compiler.misc.cant.access.inner.cls.constr=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF{0}({1})\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u3080\u578B{2}\u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u30B9\u30B3\u30FC\u30D7\u5185\u306B\u3042\u308A\u307E\u305B\u3093
@@ -627,6 +679,8 @@
compiler.err.pkg.annotations.sb.in.package-info.java=\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6CE8\u91C8\u306F\u30D5\u30A1\u30A4\u30EBpackage-info.java\u5185\u306B\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.no.pkg.in.module-info.java=package\u53E5\u304C\u30D5\u30A1\u30A4\u30EBmodule-info.java\u306B\u3042\u3063\u3066\u306F\u306A\u308A\u307E\u305B\u3093
+
# 0: symbol
compiler.err.pkg.clashes.with.class.of.same.name=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F\u540C\u540D\u306E\u30AF\u30E9\u30B9\u3068\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059
@@ -1048,6 +1102,9 @@
compiler.warn.finally.cannot.complete=finally\u7BC0\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3067\u304D\u307E\u305B\u3093
+# 0: name
+compiler.warn.poor.choice.for.module.name=\u30E2\u30B8\u30E5\u30FC\u30EB\u540D{0}\u306E\u672B\u5C3E\u306F\u6570\u5B57\u306B\u3057\u306A\u3044\u3067\u304F\u3060\u3055\u3044
+
# 0: symbol, 1: symbol
compiler.warn.has.been.deprecated={1}\u306E{0}\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093
@@ -1055,6 +1112,12 @@
compiler.warn.has.been.deprecated.for.removal={1}\u306E{0}\u306F\u63A8\u5968\u3055\u308C\u3066\u304A\u3089\u305A\u3001\u524A\u9664\u7528\u306B\u30DE\u30FC\u30AF\u3055\u308C\u3066\u3044\u307E\u3059
# 0: symbol
+compiler.warn.has.been.deprecated.module=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093
+
+# 0: symbol
+compiler.warn.has.been.deprecated.for.removal.module=\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306F\u63A8\u5968\u3055\u308C\u3066\u304A\u3089\u305A\u3001\u524A\u9664\u7528\u306B\u30DE\u30FC\u30AF\u3055\u308C\u3066\u3044\u307E\u3059
+
+# 0: symbol
compiler.warn.sun.proprietary={0}\u306F\u5185\u90E8\u6240\u6709\u306EAPI\u3067\u3042\u308A\u3001\u4ECA\u5F8C\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
compiler.warn.illegal.char.for.encoding=\u3053\u306E\u6587\u5B57\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0{0}\u306B\u30DE\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093
@@ -1210,6 +1273,8 @@
# 0: symbol kind
compiler.warn.deprecated.annotation.has.no.effect=@Deprecated\u6CE8\u91C8\u306F\u3001\u3053\u306E{0}\u5BA3\u8A00\u306B\u306F\u5F71\u97FF\u3057\u307E\u305B\u3093
+compiler.warn.invalid.path=\u30D5\u30A1\u30A4\u30EB\u540D\u304C\u7121\u52B9\u3067\u3059: {0}
+
compiler.warn.invalid.archive.file=\u30D1\u30B9\u4E0A\u306E\u4E88\u671F\u3057\u306A\u3044\u30D5\u30A1\u30A4\u30EB: {0}
compiler.warn.unexpected.archive.file=\u30A2\u30FC\u30AB\u30A4\u30D6\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u4E88\u671F\u3057\u306A\u3044\u62E1\u5F35\u5B50: {0}
@@ -1293,6 +1358,8 @@
compiler.err.premature.eof=\u69CB\u6587\u89E3\u6790\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A\u306B\u79FB\u308A\u307E\u3057\u305F
## The following are related in form, but do not easily fit the above paradigm.
+compiler.err.expected.module=''\u30E2\u30B8\u30E5\u30FC\u30EB''\u304C\u5FC5\u8981\u3067\u3059
+
compiler.err.dot.class.expected=''.class''\u304C\u3042\u308A\u307E\u305B\u3093
## The argument to this string will always be either 'case' or 'default'.
@@ -1358,6 +1425,12 @@
compiler.misc.class.file.not.found={0}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+# 0: string (constant value), 1: symbol (constant field), 2: type (field type)
+compiler.misc.bad.constant.range={1}\u306E\u5B9A\u6570\u5024''{0}''\u306F{2}\u306E\u60F3\u5B9A\u7BC4\u56F2\u5916\u3067\u3059
+
+# 0: string (constant value), 1: symbol (constant field), 2: string (expected class)
+compiler.misc.bad.constant.value={1}\u306E\u5B9A\u6570\u5024''{0}''\u306F\u4E0D\u6B63\u3067\u3059\u3002{2}\u304C\u5FC5\u8981\u3067\u3059
+
# 0: string (classfile major version), 1: string (classfile minor version)
compiler.misc.invalid.default.interface=\u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1}\u306E\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306B\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
@@ -1518,6 +1591,9 @@
compiler.misc.arg.length.mismatch=\u5B9F\u5F15\u6570\u30EA\u30B9\u30C8\u3068\u4EEE\u5F15\u6570\u30EA\u30B9\u30C8\u306E\u9577\u3055\u304C\u7570\u306A\u308A\u307E\u3059
+# 0: string
+compiler.misc.wrong.number.type.args=\u578B\u5F15\u6570\u306E\u6570\u304C\u4E0D\u6B63\u3067\u3059\u3002{0}\u500B\u5FC5\u8981\u3067\u3059
+
# 0: message segment
compiler.misc.no.conforming.assignment.exists=\u5F15\u6570\u306E\u4E0D\u4E00\u81F4: {0}
@@ -1785,7 +1861,7 @@
compiler.err.default.methods.not.supported.in.source=\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
# 0: string
-compiler.err.intersection.types.in.cast.not.supported.in.source=\u30AD\u30E3\u30B9\u30C8\u5185\u306Eintersection\u578B\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u30C7\u30D5\u30A9\u30EB\u30C8\u30FB\u30E1\u30BD\u30C3\u30C9\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
+compiler.err.intersection.types.in.cast.not.supported.in.source=\u30AD\u30E3\u30B9\u30C8\u5185\u306Eintersection\u578B\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u30AD\u30E3\u30B9\u30C8\u5185\u306Eintersection\u578B\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
# 0: string
compiler.err.static.intf.methods.not.supported.in.source=static\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F-source {0}\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(static\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 8\u4EE5\u4E0A\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)
@@ -1932,6 +2008,9 @@
# 0: symbol
compiler.err.module.not.found=\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+# 0: symbol
+compiler.warn.module.not.found=\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
+
compiler.err.too.many.modules=\u691C\u51FA\u3055\u308C\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u304C\u591A\u3059\u304E\u307E\u3059
# 0: symbol
@@ -1941,7 +2020,18 @@
compiler.err.duplicate.requires=\u5FC5\u9808\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}
# 0: symbol
-compiler.err.duplicate.exports=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: {0}
+compiler.err.conflicting.exports=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u304C\u91CD\u8907\u307E\u305F\u306F\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059: {0}
+
+# 0: symbol
+compiler.err.conflicting.opens=\u30AA\u30FC\u30D7\u30F3\u304C\u91CD\u8907\u307E\u305F\u306F\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059: {0}
+
+# 0: symbol
+compiler.err.conflicting.exports.to.module=\u30E2\u30B8\u30E5\u30FC\u30EB\u3078\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u304C\u91CD\u8907\u307E\u305F\u306F\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059: {0}
+
+# 0: symbol
+compiler.err.conflicting.opens.to.module=\u30E2\u30B8\u30E5\u30FC\u30EB\u3078\u306E\u30AA\u30FC\u30D7\u30F3\u304C\u91CD\u8907\u307E\u305F\u306F\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059: {0}
+
+compiler.err.no.opens.unless.strong=''opens''\u306F\u5F37\u56FA\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u306E\u307F\u8A31\u53EF\u3055\u308C\u307E\u3059
# 0: symbol, 1: symbol
compiler.err.duplicate.provides=\u6307\u5B9A\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059: \u30B5\u30FC\u30D3\u30B9{0}\u3001\u5B9F\u88C5{1}
@@ -1952,15 +2042,14 @@
# 0: symbol
compiler.err.service.implementation.is.abstract=\u30B5\u30FC\u30D3\u30B9\u5B9F\u88C5\u304C\u62BD\u8C61\u30AF\u30E9\u30B9\u3067\u3059: {0}
-compiler.err.service.implementation.must.be.subtype.of.service.interface=\u30B5\u30FC\u30D3\u30B9\u5B9F\u88C5\u30BF\u30A4\u30D7\u306F\u3001\u30B5\u30FC\u30D3\u30B9\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30BF\u30A4\u30D7\u306E\u30B5\u30D6\u30BF\u30A4\u30D7\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+compiler.err.service.implementation.must.be.subtype.of.service.interface=\u30B5\u30FC\u30D3\u30B9\u5B9F\u88C5\u30BF\u30A4\u30D7\u306F\u3001\u30B5\u30FC\u30D3\u30B9\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30BF\u30A4\u30D7\u306E\u30B5\u30D6\u30BF\u30A4\u30D7\u3067\u3042\u308B\u304B\u3001\u30B5\u30FC\u30D3\u30B9\u5B9F\u88C5\u3092\u623B\u3057\u3001\u5F15\u6570\u3092\u6301\u305F\u306A\u3044\u3001"provider"\u3068\u3044\u3046\u540D\u524D\u306Epublic static\u30E1\u30BD\u30C3\u30C9\u3092\u6301\u3064\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
+
+compiler.err.service.implementation.provider.return.must.be.subtype.of.service.interface="provider"\u30E1\u30BD\u30C3\u30C9\u306E\u623B\u308A\u30BF\u30A4\u30D7\u306F\u3001\u30B5\u30FC\u30D3\u30B9\u30FB\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30FB\u30BF\u30A4\u30D7\u306E\u30B5\u30D6\u30BF\u30A4\u30D7\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
# 0: symbol
compiler.err.service.implementation.is.inner=\u30B5\u30FC\u30D3\u30B9\u5B9F\u88C5\u304C\u5185\u90E8\u30AF\u30E9\u30B9\u3067\u3059: {0}
# 0: symbol
-compiler.err.service.definition.is.inner=\u30B5\u30FC\u30D3\u30B9\u5B9A\u7FA9\u304C\u5185\u90E8\u30AF\u30E9\u30B9\u3067\u3059: {0}
-
-# 0: symbol
compiler.err.service.definition.is.enum=\u30B5\u30FC\u30D3\u30B9\u5B9A\u7FA9\u304C\u5217\u6319\u578B\u3067\u3059: {0}
# 0: symbol
@@ -1982,6 +2071,12 @@
# 0: name, 1: name
compiler.misc.module.name.mismatch=\u30E2\u30B8\u30E5\u30FC\u30EB\u540D{0}\u306F\u5FC5\u8981\u306A\u540D\u524D{1}\u3068\u4E00\u81F4\u3057\u307E\u305B\u3093
+# 0: name
+compiler.err.module.non.zero.opens=\u30AA\u30FC\u30D7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306F\u30BC\u30ED\u3067\u306A\u3044opens_count\u3092\u6301\u3061\u307E\u3059
+
+# 0: name
+compiler.misc.module.non.zero.opens=\u30AA\u30FC\u30D7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB{0}\u306F\u30BC\u30ED\u3067\u306A\u3044opens_count\u3092\u6301\u3061\u307E\u3059
+
compiler.err.module.decl.sb.in.module-info.java=\u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306Fmodule-info.java\u3068\u3044\u3046\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
compiler.err.module-info.with.xmodule.sourcepath=\u30BD\u30FC\u30B9\u30D1\u30B9\u306E-Xmodule\u3068module-info\u306E\u7D44\u5408\u305B\u304C\u4E0D\u6B63\u3067\u3059
@@ -2014,20 +2109,19 @@
# 0: fragment, 1: name
compiler.err.duplicate.module.on.path={0}\u3067\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\n{1}\u306E\u30E2\u30B8\u30E5\u30FC\u30EB
-# 0: string
-compiler.err.xaddexports.malformed.entry=--add-exports {0}\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059
-
-# 0: string
-compiler.err.xaddexports.too.many={0}\u306E--add-exports\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8907\u6570\u3042\u308A\u307E\u3059
-
-# 0: string
-compiler.err.xaddreads.malformed.entry=--add-reads {0}\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059
-
-# 0: string
-compiler.err.xaddreads.too.many={0}\u306E--add-reads\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8907\u6570\u3042\u308A\u307E\u3059
+# 0: option name, 1: string
+compiler.warn.bad.name.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u306B\u542B\u307E\u308C\u308B\u540D\u524D\u304C\u4E0D\u6B63\u3067\u3059: ''{1}''
+
+# 0: option name, 1: string
+compiler.err.bad.name.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u306B\u542B\u307E\u308C\u308B\u540D\u524D\u304C\u4E0D\u6B63\u3067\u3059: ''{1}''
+
+# 0: option name, 1: symbol
+compiler.warn.module.for.option.not.found={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u5185\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u540D\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {1}
compiler.err.addmods.all.module.path.invalid=--add-modules ALL-MODULE-PATH\u306F\u3001\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30B3\u30F3\u30D1\u30A4\u30EB\u6642\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059
+compiler.warn.addopens.ignored=--add-opens\u306F\u3001\u30B3\u30F3\u30D1\u30A4\u30EB\u6642\u306B\u306F\u7121\u52B9\u3067\u3059
+
compiler.misc.locn.module_source_path=\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30BD\u30FC\u30B9\u30FB\u30D1\u30B9
compiler.misc.locn.upgrade_module_path=\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9
@@ -2038,9 +2132,6 @@
compiler.misc.cant.resolve.modules=\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093
-# 0: symbol
-compiler.err.cant.find.module=\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
-
# 0: string
compiler.err.invalid.module.specifier=\u30E2\u30B8\u30E5\u30FC\u30EB\u6307\u5B9A\u5B50\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093: {0}
@@ -2052,7 +2143,7 @@
# 0: kind name, 1: symbol, 2: symbol
compiler.warn.leaks.not.accessible.unexported=\u30E2\u30B8\u30E5\u30FC\u30EB{2}\u306E{0} {1}\u306F\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093
# 0: kind name, 1: symbol, 2: symbol
-compiler.warn.leaks.not.accessible.not.required.public=\u30E2\u30B8\u30E5\u30FC\u30EB{2}\u306E{0} {1}\u306F\u3001''requires public''\u3092\u4F7F\u7528\u3057\u3066\u9593\u63A5\u7684\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093
+compiler.warn.leaks.not.accessible.not.required.transitive=\u30E2\u30B8\u30E5\u30FC\u30EB{2}\u306E{0} {1}\u306F\u3001''requires transitive''\u3092\u4F7F\u7528\u3057\u3066\u9593\u63A5\u7684\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u307E\u305B\u3093
# 0: kind name, 1: symbol, 2: symbol
compiler.warn.leaks.not.accessible.unexported.qualified=\u30E2\u30B8\u30E5\u30FC\u30EB{2}\u306E{0} {1}\u306F\u3001\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u5FC5\u8981\u3068\u3059\u308B\u3059\u3079\u3066\u306E\u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u306B\u8868\u793A\u3055\u308C\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2017, 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
@@ -593,14 +593,66 @@
compiler.err.not.annotation.type={0}\u4E0D\u662F\u6CE8\u91CA\u7C7B\u578B
+# 0: symbol, 1: symbol, 2: message segment
+compiler.err.not.def.access.package.cant.access={0} \u4E0D\u53EF\u89C1\n({2})
+
+# 0: symbol, 1: symbol, 2: message segment
+compiler.misc.not.def.access.package.cant.access={0} \u4E0D\u53EF\u89C1\n({2})
+
+# 0: symbol, 1: message segment
+compiler.err.package.not.visible=\u7A0B\u5E8F\u5305 {0} \u4E0D\u53EF\u89C1\n({1})
+
+# 0: symbol, 1: message segment
+compiler.misc.package.not.visible=\u7A0B\u5E8F\u5305 {0} \u4E0D\u53EF\u89C1\n({1})
+
+# {0} - current module
+# {1} - package in which the invisible class is declared
+# {2} - module in which {1} is declared
+# 0: symbol, 1: symbol, 2: symbol
+compiler.misc.not.def.access.does.not.read=\u7A0B\u5E8F\u5305 {1} \u5DF2\u5728\u6A21\u5757 {2} \u4E2D\u58F0\u660E, \u4F46\u6A21\u5757 {0} \u672A\u8BFB\u53D6\u5B83
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
# 0: symbol, 1: symbol
-compiler.err.not.def.access.package.cant.access=\u7531\u4E8E\u7A0B\u5E8F\u5305 {1} \u4E0D\u53EF\u89C1, \u56E0\u6B64 {0} \u4E0D\u53EF\u89C1
+compiler.misc.not.def.access.does.not.read.from.unnamed=\u7A0B\u5E8F\u5305 {0} \u5DF2\u5728\u6A21\u5757 {1} \u4E2D\u58F0\u660E, \u4F46\u8BE5\u6A21\u5757\u4E0D\u5728\u6A21\u5757\u56FE\u4E2D
+
+# {0} - package in which the invisible class is declared
+# {1} - current module
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.does.not.read.unnamed=\u7A0B\u5E8F\u5305 {0} \u5DF2\u5728\u672A\u547D\u540D\u6A21\u5757\u4E2D\u58F0\u660E, \u4F46\u6A21\u5757 {0} \u672A\u8BFB\u53D6\u5B83
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.not.exported=\u7A0B\u5E8F\u5305 {0} \u5DF2\u5728\u6A21\u5757 {1} \u4E2D\u58F0\u660E, \u4F46\u8BE5\u6A21\u5757\u672A\u5BFC\u51FA\u5B83
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.not.exported.from.unnamed=\u7A0B\u5E8F\u5305 {0} \u5DF2\u5728\u6A21\u5757 {1} \u4E2D\u58F0\u660E, \u4F46\u8BE5\u6A21\u5757\u672A\u5BFC\u51FA\u5B83
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# {2} - current module
+# 0: symbol, 1: symbol, 2: symbol
+compiler.misc.not.def.access.not.exported.to.module=\u7A0B\u5E8F\u5305 {0} \u5DF2\u5728\u6A21\u5757 {1} \u4E2D\u58F0\u660E, \u4F46\u8BE5\u6A21\u5757\u672A\u5C06\u5B83\u5BFC\u51FA\u5230\u6A21\u5757 {2}
+
+# {0} - package in which the invisible class is declared
+# {1} - module in which {0} is declared
+# 0: symbol, 1: symbol
+compiler.misc.not.def.access.not.exported.to.module.from.unnamed=\u7A0B\u5E8F\u5305 {0} \u5DF2\u5728\u6A21\u5757 {1} \u4E2D\u58F0\u660E, \u4F46\u8BE5\u6A21\u5757\u672A\u5C06\u5B83\u5BFC\u51FA\u5230\u672A\u547D\u540D\u6A21\u5757
# 0: symbol, 1: symbol
-compiler.err.not.def.access.class.intf.cant.access={1}\u4E2D\u7684{0}\u662F\u5728\u4E0D\u53EF\u8BBF\u95EE\u7684\u7C7B\u6216\u63A5\u53E3\u4E2D\u5B9A\u4E49\u7684
+compiler.err.not.def.access.class.intf.cant.access={1}.{0} \u662F\u5728\u4E0D\u53EF\u8BBF\u95EE\u7684\u7C7B\u6216\u63A5\u53E3\u4E2D\u5B9A\u4E49\u7684
# 0: symbol, 1: symbol
-compiler.misc.not.def.access.class.intf.cant.access={1}\u4E2D\u7684{0}\u662F\u5728\u4E0D\u53EF\u8BBF\u95EE\u7684\u7C7B\u6216\u63A5\u53E3\u4E2D\u5B9A\u4E49\u7684
+compiler.misc.not.def.access.class.intf.cant.access={1}.{0} \u662F\u5728\u4E0D\u53EF\u8BBF\u95EE\u7684\u7C7B\u6216\u63A5\u53E3\u4E2D\u5B9A\u4E49\u7684
+
+# 0: symbol, 1: symbol, 2: symbol, 3: message segment
+compiler.err.not.def.access.class.intf.cant.access.reason=\u7A0B\u5E8F\u5305 {2} \u4E2D\u7684 {1}.{0} \u4E0D\u53EF\u8BBF\u95EE\n({3})
+
+# 0: symbol, 1: symbol, 2: symbol, 3: message segment
+compiler.misc.not.def.access.class.intf.cant.access.reason=\u7A0B\u5E8F\u5305 {2} \u4E2D\u7684 {1}.{0} \u4E0D\u53EF\u8BBF\u95EE\n({3})
# 0: symbol, 1: list of type, 2: type
compiler.misc.cant.access.inner.cls.constr=\u65E0\u6CD5\u8BBF\u95EE\u6784\u9020\u5668 {0}({1})\n\u4F5C\u7528\u57DF\u4E2D\u6CA1\u6709\u7C7B\u578B\u4E3A{2}\u7684\u5C01\u95ED\u5B9E\u4F8B
@@ -627,6 +679,8 @@
compiler.err.pkg.annotations.sb.in.package-info.java=\u7A0B\u5E8F\u5305\u6CE8\u91CA\u5E94\u5728\u6587\u4EF6 package-info.java \u4E2D
+compiler.err.no.pkg.in.module-info.java=\u7A0B\u5E8F\u5305\u5B50\u53E5\u4E0D\u5E94\u5728\u6587\u4EF6 module-info.java \u4E2D
+
# 0: symbol
compiler.err.pkg.clashes.with.class.of.same.name=\u7A0B\u5E8F\u5305{0}\u4E0E\u5E26\u6709\u76F8\u540C\u540D\u79F0\u7684\u7C7B\u51B2\u7A81
@@ -1048,6 +1102,9 @@
compiler.warn.finally.cannot.complete=finally \u5B50\u53E5\u65E0\u6CD5\u6B63\u5E38\u5B8C\u6210
+# 0: name
+compiler.warn.poor.choice.for.module.name=\u6A21\u5757\u540D\u79F0 {0} \u5E94\u907F\u514D\u4EE5\u6570\u5B57\u7ED3\u5C3E
+
# 0: symbol, 1: symbol
compiler.warn.has.been.deprecated={1}\u4E2D\u7684{0}\u5DF2\u8FC7\u65F6
@@ -1055,6 +1112,12 @@
compiler.warn.has.been.deprecated.for.removal={1} \u4E2D\u7684 {0} \u5DF2\u8FC7\u65F6, \u4E14\u6807\u8BB0\u4E3A\u5F85\u5220\u9664
# 0: symbol
+compiler.warn.has.been.deprecated.module=\u6A21\u5757 {0} \u5DF2\u8FC7\u65F6
+
+# 0: symbol
+compiler.warn.has.been.deprecated.for.removal.module=\u6A21\u5757 {0} \u5DF2\u8FC7\u65F6, \u4E14\u6807\u8BB0\u4E3A\u5F85\u5220\u9664
+
+# 0: symbol
compiler.warn.sun.proprietary={0}\u662F\u5185\u90E8\u4E13\u7528 API, \u53EF\u80FD\u4F1A\u5728\u672A\u6765\u53D1\u884C\u7248\u4E2D\u5220\u9664
compiler.warn.illegal.char.for.encoding=\u7F16\u7801{0}\u7684\u4E0D\u53EF\u6620\u5C04\u5B57\u7B26
@@ -1210,6 +1273,8 @@
# 0: symbol kind
compiler.warn.deprecated.annotation.has.no.effect=@Deprecated \u6CE8\u91CA\u5BF9\u6B64 {0} \u58F0\u660E\u6CA1\u6709\u4EFB\u4F55\u6548\u679C
+compiler.warn.invalid.path=\u65E0\u6548\u6587\u4EF6\u540D: {0}
+
compiler.warn.invalid.archive.file=\u4EE5\u4E0B\u8DEF\u5F84\u4E2D\u5B58\u5728\u610F\u5916\u7684\u6587\u4EF6: {0}
compiler.warn.unexpected.archive.file=\u4EE5\u4E0B\u6863\u6848\u6587\u4EF6\u5B58\u5728\u610F\u5916\u7684\u6269\u5C55\u540D: {0}
@@ -1293,6 +1358,8 @@
compiler.err.premature.eof=\u8FDB\u884C\u89E3\u6790\u65F6\u5DF2\u5230\u8FBE\u6587\u4EF6\u7ED3\u5C3E
## The following are related in form, but do not easily fit the above paradigm.
+compiler.err.expected.module=\u9700\u8981 ''module''
+
compiler.err.dot.class.expected=\u9700\u8981 ''.class''
## The argument to this string will always be either 'case' or 'default'.
@@ -1358,6 +1425,12 @@
compiler.misc.class.file.not.found=\u627E\u4E0D\u5230{0}\u7684\u7C7B\u6587\u4EF6
+# 0: string (constant value), 1: symbol (constant field), 2: type (field type)
+compiler.misc.bad.constant.range={1} \u7684\u5E38\u91CF\u503C ''{0}'' \u8D85\u51FA\u4E86 {2} \u7684\u9884\u671F\u8303\u56F4
+
+# 0: string (constant value), 1: symbol (constant field), 2: string (expected class)
+compiler.misc.bad.constant.value={1} \u7684\u5E38\u91CF\u503C ''{0}'' \u9519\u8BEF, \u9884\u671F\u4E3A {2}
+
# 0: string (classfile major version), 1: string (classfile minor version)
compiler.misc.invalid.default.interface=\u5728 {0}.{1} \u7248\u7C7B\u6587\u4EF6\u4E2D\u627E\u5230\u9ED8\u8BA4\u65B9\u6CD5
@@ -1518,6 +1591,9 @@
compiler.misc.arg.length.mismatch=\u5B9E\u9645\u53C2\u6570\u5217\u8868\u548C\u5F62\u5F0F\u53C2\u6570\u5217\u8868\u957F\u5EA6\u4E0D\u540C
+# 0: string
+compiler.misc.wrong.number.type.args=\u7C7B\u578B\u53D8\u91CF\u6570\u76EE\u9519\u8BEF; \u9700\u8981{0}
+
# 0: message segment
compiler.misc.no.conforming.assignment.exists=\u53C2\u6570\u4E0D\u5339\u914D; {0}
@@ -1785,7 +1861,7 @@
compiler.err.default.methods.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u9ED8\u8BA4\u65B9\u6CD5\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u9ED8\u8BA4\u65B9\u6CD5)
# 0: string
-compiler.err.intersection.types.in.cast.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u8F6C\u6362\u4E2D\u7684\u4EA4\u53C9\u7C7B\u578B\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u9ED8\u8BA4\u65B9\u6CD5)
+compiler.err.intersection.types.in.cast.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u8F6C\u6362\u4E2D\u7684\u4EA4\u53C9\u7C7B\u578B\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u8F6C\u6362\u4E2D\u7684\u4EA4\u53C9\u7C7B\u578B)
# 0: string
compiler.err.static.intf.methods.not.supported.in.source=-source {0} \u4E2D\u4E0D\u652F\u6301\u9759\u6001\u63A5\u53E3\u65B9\u6CD5\n(\u8BF7\u4F7F\u7528 -source 8 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u9759\u6001\u63A5\u53E3\u65B9\u6CD5)
@@ -1932,6 +2008,9 @@
# 0: symbol
compiler.err.module.not.found=\u627E\u4E0D\u5230\u6A21\u5757: {0}
+# 0: symbol
+compiler.warn.module.not.found=\u627E\u4E0D\u5230\u6A21\u5757: {0}
+
compiler.err.too.many.modules=\u627E\u5230\u592A\u591A\u7684\u6A21\u5757\u58F0\u660E
# 0: symbol
@@ -1941,7 +2020,18 @@
compiler.err.duplicate.requires=\u91CD\u590D\u7684 requires \u6307\u4EE4: {0}
# 0: symbol
-compiler.err.duplicate.exports=\u91CD\u590D\u7684 export \u6307\u4EE4: {0}
+compiler.err.conflicting.exports=\u91CD\u590D\u6216\u51B2\u7A81\u7684\u5BFC\u51FA\u64CD\u4F5C: {0}
+
+# 0: symbol
+compiler.err.conflicting.opens=\u91CD\u590D\u6216\u51B2\u7A81\u7684\u6253\u5F00\u64CD\u4F5C: {0}
+
+# 0: symbol
+compiler.err.conflicting.exports.to.module=\u91CD\u590D\u6216\u51B2\u7A81\u7684\u5BFC\u51FA\u5230\u6A21\u5757\u64CD\u4F5C: {0}
+
+# 0: symbol
+compiler.err.conflicting.opens.to.module=\u91CD\u590D\u6216\u51B2\u7A81\u7684\u6253\u5F00\u5230\u6A21\u5757\u64CD\u4F5C: {0}
+
+compiler.err.no.opens.unless.strong=\u53EA\u5141\u8BB8\u5728\u5F3A\u6A21\u5757\u4E2D\u4F7F\u7528 ''opens''
# 0: symbol, 1: symbol
compiler.err.duplicate.provides=\u91CD\u590D\u7684 provides \u6307\u4EE4: \u670D\u52A1 {0}, \u5B9E\u73B0 {1}
@@ -1952,15 +2042,14 @@
# 0: symbol
compiler.err.service.implementation.is.abstract=\u670D\u52A1\u5B9E\u73B0\u662F\u62BD\u8C61\u7C7B: {0}
-compiler.err.service.implementation.must.be.subtype.of.service.interface=\u670D\u52A1\u5B9E\u73B0\u7C7B\u578B\u5FC5\u987B\u662F\u670D\u52A1\u63A5\u53E3\u7C7B\u578B\u7684\u5B50\u7C7B\u578B
+compiler.err.service.implementation.must.be.subtype.of.service.interface=\u670D\u52A1\u5B9E\u73B0\u7C7B\u578B\u5FC5\u987B\u662F\u670D\u52A1\u63A5\u53E3\u7C7B\u578B\u7684\u5B50\u7C7B\u578B, \u6216\u8005\u5177\u6709\u540D\u4E3A "provider" \u7684, \u8FD4\u56DE\u670D\u52A1\u5B9E\u73B0\u7684\u516C\u5171\u9759\u6001\u65E0\u53C2\u6570\u65B9\u6CD5
+
+compiler.err.service.implementation.provider.return.must.be.subtype.of.service.interface="provider" \u65B9\u6CD5\u8FD4\u56DE\u7C7B\u578B\u5FC5\u987B\u662F\u670D\u52A1\u63A5\u53E3\u7C7B\u578B\u7684\u5B50\u7C7B\u578B
# 0: symbol
compiler.err.service.implementation.is.inner=\u670D\u52A1\u5B9E\u73B0\u662F\u5185\u90E8\u7C7B: {0}
# 0: symbol
-compiler.err.service.definition.is.inner=\u670D\u52A1\u5B9A\u4E49\u662F\u5185\u90E8\u7C7B: {0}
-
-# 0: symbol
compiler.err.service.definition.is.enum=\u670D\u52A1\u5B9A\u4E49\u662F\u679A\u4E3E: {0}
# 0: symbol
@@ -1982,6 +2071,12 @@
# 0: name, 1: name
compiler.misc.module.name.mismatch=\u6A21\u5757\u540D\u79F0 {0} \u4E0E\u9884\u671F\u540D\u79F0 {1} \u4E0D\u5339\u914D
+# 0: name
+compiler.err.module.non.zero.opens=\u6253\u5F00\u7684\u6A21\u5757 {0} \u5177\u6709\u975E\u96F6 opens_count
+
+# 0: name
+compiler.misc.module.non.zero.opens=\u6253\u5F00\u7684\u6A21\u5757 {0} \u5177\u6709\u975E\u96F6 opens_count
+
compiler.err.module.decl.sb.in.module-info.java=\u6A21\u5757\u58F0\u660E\u5E94\u8BE5\u5728\u540D\u4E3A module-info.java \u7684\u6587\u4EF6\u4E2D
compiler.err.module-info.with.xmodule.sourcepath=\u6E90\u8DEF\u5F84\u4E0A\u7684 -Xmodule \u4E0E module-info \u7684\u7EC4\u5408\u975E\u6CD5
@@ -2014,20 +2109,19 @@
# 0: fragment, 1: name
compiler.err.duplicate.module.on.path={1} \u4E2D\u7684 {0} \u4E0A\u5B58\u5728\n\u91CD\u590D\u7684\u6A21\u5757
-# 0: string
-compiler.err.xaddexports.malformed.entry=--add-exports {0} \u7684\u503C\u9519\u8BEF
-
-# 0: string
-compiler.err.xaddexports.too.many={0} \u5B58\u5728\u591A\u4E2A --add-exports \u9009\u9879
-
-# 0: string
-compiler.err.xaddreads.malformed.entry=--add-reads {0} \u7684\u503C\u9519\u8BEF
-
-# 0: string
-compiler.err.xaddreads.too.many={0} \u5B58\u5728\u591A\u4E2A --add-reads \u9009\u9879
+# 0: option name, 1: string
+compiler.warn.bad.name.for.option={0} \u9009\u9879\u7684\u503C\u4E2D\u6709\u9519\u8BEF\u7684\u540D\u79F0: ''{1}''
+
+# 0: option name, 1: string
+compiler.err.bad.name.for.option={0} \u9009\u9879\u7684\u503C\u4E2D\u6709\u9519\u8BEF\u7684\u540D\u79F0: ''{1}''
+
+# 0: option name, 1: symbol
+compiler.warn.module.for.option.not.found=\u627E\u4E0D\u5230 {0} \u9009\u9879\u4E2D\u7684\u6A21\u5757\u540D\u79F0: {1}
compiler.err.addmods.all.module.path.invalid=--add-modules ALL-MODULE-PATH \u53EA\u80FD\u5728\u7F16\u8BD1\u672A\u547D\u540D\u6A21\u5757\u65F6\u4F7F\u7528
+compiler.warn.addopens.ignored=--add-opens \u5728\u7F16\u8BD1\u65F6\u6CA1\u6709\u4EFB\u4F55\u6548\u679C
+
compiler.misc.locn.module_source_path=\u6A21\u5757\u6E90\u8DEF\u5F84
compiler.misc.locn.upgrade_module_path=\u5347\u7EA7\u6A21\u5757\u8DEF\u5F84
@@ -2038,9 +2132,6 @@
compiler.misc.cant.resolve.modules=\u65E0\u6CD5\u89E3\u6790\u6A21\u5757
-# 0: symbol
-compiler.err.cant.find.module=\u627E\u4E0D\u5230\u6A21\u5757: {0}
-
# 0: string
compiler.err.invalid.module.specifier=\u4E0D\u5141\u8BB8\u6A21\u5757\u8BF4\u660E\u7B26: {0}
@@ -2052,7 +2143,7 @@
# 0: kind name, 1: symbol, 2: symbol
compiler.warn.leaks.not.accessible.unexported=\u672A\u5BFC\u51FA\u6A21\u5757 {2} \u4E2D\u7684 {0} {1}
# 0: kind name, 1: symbol, 2: symbol
-compiler.warn.leaks.not.accessible.not.required.public=\u672A\u4F7F\u7528 ''requires public'' \u95F4\u63A5\u5BFC\u51FA\u6A21\u5757 {2} \u4E2D\u7684 {0} {1}
+compiler.warn.leaks.not.accessible.not.required.transitive=\u672A\u4F7F\u7528 ''requires transitive'' \u95F4\u63A5\u5BFC\u51FA\u6A21\u5757 {2} \u4E2D\u7684 {0} {1}
# 0: kind name, 1: symbol, 2: symbol
compiler.warn.leaks.not.accessible.unexported.qualified=\u6A21\u5757 {2} \u4E2D\u7684 {0} {1} \u53EF\u80FD\u5BF9\u9700\u8981\u8BE5\u6A21\u5757\u7684\u6240\u6709\u5BA2\u6237\u673A\u90FD\u4E0D\u53EF\u89C1
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2017, 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
@@ -119,6 +119,8 @@
javac.opt.Xlint.desc.finally=\u6B63\u5E38\u306B\u5B8C\u4E86\u3057\u306A\u3044finally\u7BC0\u306B\u3064\u3044\u3066\u8B66\u544A\u3057\u307E\u3059\u3002
+javac.opt.Xlint.desc.module=\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30B7\u30B9\u30C6\u30E0\u95A2\u9023\u306E\u554F\u984C\u306B\u3064\u3044\u3066\u8B66\u544A\u3057\u307E\u3059\u3002
+
javac.opt.Xlint.desc.options=\u30B3\u30DE\u30F3\u30C9\u884C\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u4F7F\u7528\u306B\u95A2\u3059\u308B\u554F\u984C\u306B\u3064\u3044\u3066\u8B66\u544A\u3057\u307E\u3059\u3002
javac.opt.Xlint.desc.overloads=\u30E1\u30BD\u30C3\u30C9\u306E\u30AA\u30FC\u30D0\u30FC\u30ED\u30FC\u30C9\u306B\u95A2\u3059\u308B\u554F\u984C\u306B\u3064\u3044\u3066\u8B66\u544A\u3057\u307E\u3059\u3002
@@ -156,8 +158,8 @@
javac.opt.Xdoclint.package.desc=\u7279\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30C1\u30A7\u30C3\u30AF\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3057\u307E\u3059\u3002\u5404<package>\u306F\u3001\n\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4FEE\u98FE\u3055\u308C\u305F\u540D\u524D\u3001\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u306E\u63A5\u982D\u8F9E\u306E\u5F8C\u306B''.*''\u3092\u6307\u5B9A\n(\u6307\u5B9A\u3057\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u3059\u3079\u3066\u306E\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u62E1\u5F35)\u3057\u305F\u3082\u306E\u3067\u3059\u3002\u5404<package>\u306E\u524D\u306B\n'-'\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u6307\u5B9A\u3057\u305F1\u3064\u4EE5\u4E0A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u95A2\u3059\u308B\u30C1\u30A7\u30C3\u30AF\u3092\u7121\u52B9\u306B\u3067\u304D\u307E\u3059\u3002
javac.opt.Xstdout=\u6A19\u6E96\u51FA\u529B\u3092\u30EA\u30C0\u30A4\u30EC\u30AF\u30C8\u3059\u308B
-javac.opt.X=\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B
-javac.opt.help=\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B
+javac.opt.X=\u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30D8\u30EB\u30D7\u3092\u51FA\u529B\u3057\u307E\u3059
+javac.opt.help=\u3053\u306E\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059
javac.opt.print=\u6307\u5B9A\u3057\u305F\u578B\u306E\u30C6\u30AD\u30B9\u30C8\u8868\u793A\u3092\u51FA\u529B\u3059\u308B
javac.opt.printRounds=\u6CE8\u91C8\u51E6\u7406\u306E\u5F80\u5FA9\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
javac.opt.printProcessorInfo=\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u51E6\u7406\u3092\u4F9D\u983C\u3055\u308C\u308B\u6CE8\u91C8\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B
@@ -177,6 +179,8 @@
javac.opt.arg.addmods=<module>(,<module>)*
javac.opt.limitmods=\u53C2\u7167\u53EF\u80FD\u306A\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u9818\u57DF\u3092\u5236\u9650\u3057\u307E\u3059
javac.opt.arg.limitmods=<module>(,<module>)*
+javac.opt.module.version=\u30B3\u30F3\u30D1\u30A4\u30EB\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u307E\u3059
+javac.opt.arg.module.version=<\u30D0\u30FC\u30B8\u30E7\u30F3>
javac.opt.inherit_runtime_environment=\u5B9F\u884C\u6642\u74B0\u5883\u304B\u3089\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30B7\u30B9\u30C6\u30E0\u69CB\u6210\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7D99\u627F\u3057\u307E\u3059\u3002
## errors
@@ -203,6 +207,9 @@
javac.err.file.not.directory=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
javac.err.file.not.file=\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}
javac.err.cannot.access.runtime.env=\u5B9F\u884C\u6642\u74B0\u5883\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093
+javac.err.bad.value.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059: ''{1}''
+javac.err.no.value.for.option={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093
+javac.err.repeated.value.for.patch.module={0}\u306B\u5BFE\u3057\u3066--patch-module\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
## messages
@@ -210,7 +217,7 @@
javac.msg.usage=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <source files>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001--help\u3092\u4F7F\u7528\u3057\u307E\u3059
-javac.msg.usage.nonstandard.footer=\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
+javac.msg.usage.nonstandard.footer=\u3053\u306E\u8FFD\u52A0\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002
javac.msg.bug=\u30B3\u30F3\u30D1\u30A4\u30E9\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F({0})\u3002Bug Database (http://bugs.java.com)\u3067\u91CD\u8907\u304C\u306A\u3044\u304B\u3092\u3054\u78BA\u8A8D\u306E\u3046\u3048\u3001Java bug\u30EC\u30DD\u30FC\u30C8\u30FB\u30DA\u30FC\u30B8(http://bugreport.java.com)\u3067Java\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u5BFE\u3059\u308Bbug\u306E\u767B\u9332\u3092\u304A\u9858\u3044\u3044\u305F\u3057\u307E\u3059\u3002\u30EC\u30DD\u30FC\u30C8\u306B\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u3068\u4E0B\u8A18\u306E\u8A3A\u65AD\u5185\u5BB9\u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\u3054\u5354\u529B\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2017, 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
@@ -119,6 +119,8 @@
javac.opt.Xlint.desc.finally=\u6709\u5173 finally \u5B50\u53E5\u672A\u6B63\u5E38\u7EC8\u6B62\u7684\u8B66\u544A\u3002
+javac.opt.Xlint.desc.module=\u6709\u5173\u6A21\u5757\u7CFB\u7EDF\u76F8\u5173\u95EE\u9898\u7684\u8B66\u544A\u3002
+
javac.opt.Xlint.desc.options=\u6709\u5173\u4E0E\u4F7F\u7528\u547D\u4EE4\u884C\u9009\u9879\u76F8\u5173\u7684\u95EE\u9898\u7684\u8B66\u544A\u3002
javac.opt.Xlint.desc.overloads=\u6709\u5173\u4E0E\u65B9\u6CD5\u91CD\u8F7D\u76F8\u5173\u7684\u95EE\u9898\u7684\u8B66\u544A\u3002
@@ -156,8 +158,8 @@
javac.opt.Xdoclint.package.desc=\u5728\u7279\u5B9A\u7684\u7A0B\u5E8F\u5305\u4E2D\u542F\u7528\u6216\u7981\u7528\u68C0\u67E5\u3002\u6BCF\u4E2A <\u7A0B\u5E8F\u5305> \u662F\n\u7A0B\u5E8F\u5305\u7684\u9650\u5B9A\u540D\u79F0, \u6216\u7A0B\u5E8F\u5305\u540D\u79F0\u524D\u7F00\u540E\u8DDF '.*', \n\u5B83\u6269\u5C55\u5230\u7ED9\u5B9A\u7A0B\u5E8F\u5305\u7684\u6240\u6709\u5B50\u7A0B\u5E8F\u5305\u3002\u5728\u6BCF\u4E2A <\u7A0B\u5E8F\u5305>\n\u524D\u9762\u52A0\u4E0A '-' \u53EF\u4EE5\u4E3A\u6307\u5B9A\u7A0B\u5E8F\u5305\u7981\u7528\u68C0\u67E5\u3002
javac.opt.Xstdout=\u91CD\u5B9A\u5411\u6807\u51C6\u8F93\u51FA
-javac.opt.X=\u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981
-javac.opt.help=\u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981
+javac.opt.X=\u8F93\u51FA\u989D\u5916\u9009\u9879\u7684\u5E2E\u52A9
+javac.opt.help=\u8F93\u51FA\u6B64\u5E2E\u52A9\u6D88\u606F
javac.opt.print=\u8F93\u51FA\u6307\u5B9A\u7C7B\u578B\u7684\u6587\u672C\u8868\u793A
javac.opt.printRounds=\u8F93\u51FA\u6709\u5173\u6CE8\u91CA\u5904\u7406\u5FAA\u73AF\u7684\u4FE1\u606F
javac.opt.printProcessorInfo=\u8F93\u51FA\u6709\u5173\u8BF7\u6C42\u5904\u7406\u7A0B\u5E8F\u5904\u7406\u54EA\u4E9B\u6CE8\u91CA\u7684\u4FE1\u606F
@@ -177,6 +179,8 @@
javac.opt.arg.addmods=<\u6A21\u5757>(,<\u6A21\u5757>)*
javac.opt.limitmods=\u9650\u5236\u53EF\u89C2\u5BDF\u6A21\u5757\u7684\u9886\u57DF
javac.opt.arg.limitmods=<\u6A21\u5757>(,<\u6A21\u5757>)*
+javac.opt.module.version=\u6307\u5B9A\u6B63\u5728\u7F16\u8BD1\u7684\u6A21\u5757\u7248\u672C
+javac.opt.arg.module.version=<\u7248\u672C>
javac.opt.inherit_runtime_environment=\u4ECE\u8FD0\u884C\u65F6\u73AF\u5883\u7EE7\u627F\u6A21\u5757\u7CFB\u7EDF\u914D\u7F6E\u9009\u9879\u3002
## errors
@@ -203,6 +207,9 @@
javac.err.file.not.directory=\u4E0D\u662F\u76EE\u5F55: {0}
javac.err.file.not.file=\u4E0D\u662F\u6587\u4EF6: {0}
javac.err.cannot.access.runtime.env=\u65E0\u6CD5\u8BBF\u95EE\u8FD0\u884C\u65F6\u73AF\u5883
+javac.err.bad.value.for.option={0} \u9009\u9879\u7684\u503C\u9519\u8BEF: ''{1}''
+javac.err.no.value.for.option={0} \u9009\u9879\u6CA1\u6709\u503C
+javac.err.repeated.value.for.patch.module=\u4E3A {0} \u591A\u6B21\u6307\u5B9A\u4E86 --patch-module
## messages
@@ -210,7 +217,7 @@
javac.msg.usage=\u7528\u6CD5: {0} <\u9009\u9879> <\u6E90\u6587\u4EF6>\n\u4F7F\u7528 --help \u53EF\u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
-javac.msg.usage.nonstandard.footer=\u8FD9\u4E9B\u9009\u9879\u90FD\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002
+javac.msg.usage.nonstandard.footer=\u8FD9\u4E9B\u989D\u5916\u9009\u9879\u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002
javac.msg.bug=\u7F16\u8BD1\u5668 ({0}) \u4E2D\u51FA\u73B0\u5F02\u5E38\u9519\u8BEF\u3002\u5982\u679C\u5728 Bug Database (http://bugs.java.com) \u4E2D\u6CA1\u6709\u627E\u5230\u8BE5\u9519\u8BEF, \u8BF7\u901A\u8FC7 Java Bug \u62A5\u544A\u9875 (http://bugreport.java.com) \u5EFA\u7ACB\u8BE5 Java \u7F16\u8BD1\u5668 Bug\u3002\u8BF7\u5728\u62A5\u544A\u4E2D\u9644\u4E0A\u60A8\u7684\u7A0B\u5E8F\u548C\u4EE5\u4E0B\u8BCA\u65AD\u4FE1\u606F\u3002\u8C22\u8C22\u3002
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2017, 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,6 +71,7 @@
main.release.bootclasspath.conflict=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u306F-release\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
main.unsupported.release.version=\u30EA\u30EA\u30FC\u30B9\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3{0}\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
main.release.not.standard.file.manager=-release\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001\u6307\u5B9A\u3055\u308C\u305FJavaFileManager\u306FStandardJavaFileManager\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
+main.option.invalid.value={0}
tag.illegal_char_in_arr_dim=\u30BF\u30B0{0}: \u914D\u5217\u306E\u5927\u304D\u3055\u3001\u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059
tag.illegal_see_tag=\u30BF\u30B0{0}: \u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059
tag.missing_comma_space=\u30BF\u30B0{0}: \u30E1\u30BD\u30C3\u30C9\u30FB\u30D1\u30E9\u30E1\u30FC\u30BF{1}\u306B\u30AB\u30F3\u30DE\u307E\u305F\u306F\u7A7A\u767D\u6587\u5B57\u304C\u3042\u308A\u307E\u305B\u3093
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2017, 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,6 +71,7 @@
main.release.bootclasspath.conflict=\u9009\u9879{0}\u65E0\u6CD5\u4E0E -release \u4E00\u8D77\u4F7F\u7528
main.unsupported.release.version=\u4E0D\u652F\u6301\u53D1\u884C\u7248\u672C {0}
main.release.not.standard.file.manager=\u6307\u5B9A\u4E86 -release \u9009\u9879, \u4F46\u63D0\u4F9B\u7684 JavaFileManager \u4E0D\u662F StandardJavaFileManager\u3002
+main.option.invalid.value={0}
tag.illegal_char_in_arr_dim=\u6807\u8BB0{0}: \u6570\u7EC4\u7EF4\u4E2D\u6709\u8BED\u6CD5\u9519\u8BEF, \u65B9\u6CD5\u53C2\u6570: {1}
tag.illegal_see_tag=\u6807\u8BB0{0}: \u65B9\u6CD5\u53C2\u6570\u4E2D\u6709\u8BED\u6CD5\u9519\u8BEF: {1}
tag.missing_comma_space=\u6807\u8BB0{0}: \u65B9\u6CD5\u53C2\u6570\u4E2D\u7F3A\u5C11\u9017\u53F7\u6216\u7A7A\u683C: {1}
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -3,10 +3,12 @@
doclet.Overview=\u6982\u8981
doclet.Window_Overview=\u6982\u8981\u30EA\u30B9\u30C8
doclet.Window_Overview_Summary=\u6982\u8981
+doclet.Element=\u8981\u7D20
doclet.Package=\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.Module=\u30E2\u30B8\u30E5\u30FC\u30EB
doclet.All_Packages=\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.All_Modules=\u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB
+doclet.None=\u306A\u3057
doclet.Tree=\u968E\u5C64\u30C4\u30EA\u30FC
doclet.Class_Hierarchy=\u30AF\u30E9\u30B9\u968E\u5C64
doclet.Window_Class_Hierarchy=\u30AF\u30E9\u30B9\u968E\u5C64
@@ -71,6 +73,8 @@
doclet.see.class_or_package_not_accessible=\u30BF\u30B0{0}: \u53C2\u7167\u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093: {1}
doclet.tag.invalid_usage=\u30BF\u30B0{0}\u306E\u4F7F\u7528\u65B9\u6CD5\u304C\u7121\u52B9\u3067\u3059
doclet.Deprecated_API=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044API
+doclet.Deprecated_For_Removal=\u524A\u9664\u4E88\u5B9A\u306E\u975E\u63A8\u5968
+doclet.Deprecated_Modules=\u975E\u63A8\u5968\u30E2\u30B8\u30E5\u30FC\u30EB
doclet.Deprecated_Packages=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.Deprecated_Classes=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30AF\u30E9\u30B9
doclet.Deprecated_Enums=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B
@@ -83,6 +87,8 @@
doclet.Deprecated_Methods=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30E1\u30BD\u30C3\u30C9
doclet.Deprecated_Enum_Constants=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B\u5B9A\u6570
doclet.Deprecated_Annotation_Type_Members=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u6CE8\u91C8\u578B\u306E\u8981\u7D20
+doclet.deprecated_for_removal=\u524A\u9664\u4E88\u5B9A\u306E\u975E\u63A8\u5968
+doclet.deprecated_modules=\u975E\u63A8\u5968\u30E2\u30B8\u30E5\u30FC\u30EB
doclet.deprecated_packages=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.deprecated_classes=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30AF\u30E9\u30B9
doclet.deprecated_enums=\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -3,10 +3,12 @@
doclet.Overview=\u6982\u89C8
doclet.Window_Overview=\u6982\u89C8\u5217\u8868
doclet.Window_Overview_Summary=\u6982\u89C8
+doclet.Element=\u5143\u7D20
doclet.Package=\u7A0B\u5E8F\u5305
doclet.Module=\u6A21\u5757
doclet.All_Packages=\u6240\u6709\u7A0B\u5E8F\u5305
doclet.All_Modules=\u5168\u90E8\u6A21\u5757
+doclet.None=\u65E0
doclet.Tree=\u6811
doclet.Class_Hierarchy=\u7C7B\u5206\u5C42\u7ED3\u6784
doclet.Window_Class_Hierarchy=\u7C7B\u5206\u5C42\u7ED3\u6784
@@ -71,6 +73,8 @@
doclet.see.class_or_package_not_accessible=\u6807\u8BB0{0}: \u65E0\u6CD5\u8BBF\u95EE\u5F15\u7528: {1}
doclet.tag.invalid_usage=\u6807\u8BB0 {0} \u7684\u7528\u6CD5\u65E0\u6548
doclet.Deprecated_API=\u5DF2\u8FC7\u65F6\u7684 API
+doclet.Deprecated_For_Removal=\u5DF2\u8FC7\u65F6, \u5F85\u5220\u9664
+doclet.Deprecated_Modules=\u5DF2\u8FC7\u65F6\u6A21\u5757
doclet.Deprecated_Packages=\u5DF2\u8FC7\u65F6\u7A0B\u5E8F\u5305
doclet.Deprecated_Classes=\u5DF2\u8FC7\u65F6\u7684\u7C7B
doclet.Deprecated_Enums=\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E
@@ -83,6 +87,8 @@
doclet.Deprecated_Methods=\u5DF2\u8FC7\u65F6\u7684\u65B9\u6CD5
doclet.Deprecated_Enum_Constants=\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E\u5E38\u91CF
doclet.Deprecated_Annotation_Type_Members=\u5DF2\u8FC7\u65F6\u7684\u6CE8\u91CA\u7C7B\u578B\u5143\u7D20
+doclet.deprecated_for_removal=\u5DF2\u8FC7\u65F6, \u5F85\u5220\u9664
+doclet.deprecated_modules=\u5DF2\u8FC7\u65F6\u6A21\u5757
doclet.deprecated_packages=\u5DF2\u8FC7\u65F6\u7A0B\u5E8F\u5305
doclet.deprecated_classes=\u5DF2\u8FC7\u65F6\u7684\u7C7B
doclet.deprecated_enums=\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -74,7 +74,13 @@
doclet.javafx_tag_misuse=\u30BF\u30B0@propertyGetter\u3001@propertySetter\u304A\u3088\u3073@propertyDescription\u306F\u3001JavaFX\u306E\u30D7\u30ED\u30D1\u30C6\u30A3getter\u3068setter\u306E\u307F\u3067\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
doclet.Package_Summary=\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981
doclet.Requires_Summary=\u5FC5\u8981
+doclet.Additional_Modules_Required_Summary=\u8FFD\u52A0\u30E2\u30B8\u30E5\u30FC\u30EB\u5FC5\u9808
+doclet.Additional_Exported_Packages_Summary=\u8FFD\u52A0\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Additional_Opened_Packages_Summary=\u8FFD\u52A0\u306E\u30AA\u30FC\u30D7\u30F3\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.Exported_Packages_Summary=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Opened_Packages_Summary=\u30AA\u30FC\u30D7\u30F3\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Concealed_Packages_Summary=\u96A0\u3057\u30D1\u30C3\u30B1\u30FC\u30B8
+doclet.Packages_Summary=\u30D1\u30C3\u30B1\u30FC\u30B8
doclet.Uses_Summary=\u4F7F\u7528
doclet.Provides_Summary=\u63D0\u4F9B
doclet.Module_Summary=\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u6982\u8981
@@ -142,6 +148,7 @@
doclet.Method_Detail=\u30E1\u30BD\u30C3\u30C9\u306E\u8A73\u7D30
doclet.Constructor_Detail=\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u8A73\u7D30
doclet.Deprecated=\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
+doclet.DeprecatedForRemoval=\u975E\u63A8\u5968\u3001\u524A\u9664\u4E88\u5B9A: \u3053\u306EAPI\u8981\u7D20\u306F\u5C06\u6765\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u524A\u9664\u4E88\u5B9A\u3067\u3059\u3002
doclet.Hidden=\u975E\u8868\u793A
doclet.Groupname_already_used=-group\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u304A\u3044\u3066\u3001\u3059\u3067\u306B\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}
doclet.value_tag_invalid_reference={0}(@value\u30BF\u30B0\u306B\u3088\u308A\u53C2\u7167\u3055\u308C\u3066\u3044\u308B)\u306F\u4E0D\u660E\u306A\u53C2\u7167\u3067\u3059\u3002
@@ -152,6 +159,7 @@
doclet.Use_Table_Summary=\u8868\u3001{0}\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u8AAC\u660E\u306E\u4F7F\u7528
doclet.Constants_Table_Summary={0}\u8868\u3001\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u5024
doclet.Member_Table_Summary={0}\u8868\u3001{1}\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073\u8AAC\u660E
+doclet.Additional_Packages_Table_Summary={0}\u8868\u3001{1}\u306E\u30EA\u30B9\u30C8\u304A\u3088\u3073{2}
doclet.fields=\u30D5\u30A3\u30FC\u30EB\u30C9
doclet.Fields=\u30D5\u30A3\u30FC\u30EB\u30C9
doclet.properties=\u30D7\u30ED\u30D1\u30C6\u30A3
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -74,7 +74,13 @@
doclet.javafx_tag_misuse=\u6807\u8BB0 @propertyGetter, @propertySetter \u548C @propertyDescription \u53EA\u80FD\u5728 JavaFX \u5C5E\u6027 getter \u548C setter \u4E2D\u4F7F\u7528\u3002
doclet.Package_Summary=\u7A0B\u5E8F\u5305\u6982\u8981
doclet.Requires_Summary=\u5FC5\u9700\u9879
+doclet.Additional_Modules_Required_Summary=\u6240\u9700\u7684\u9644\u52A0\u6A21\u5757
+doclet.Additional_Exported_Packages_Summary=\u5BFC\u51FA\u7684\u9644\u52A0\u7A0B\u5E8F\u5305
+doclet.Additional_Opened_Packages_Summary=\u6253\u5F00\u7684\u9644\u52A0\u7A0B\u5E8F\u5305
doclet.Exported_Packages_Summary=\u5BFC\u51FA\u7684\u7A0B\u5E8F\u5305
+doclet.Opened_Packages_Summary=\u6253\u5F00\u7684\u7A0B\u5E8F\u5305
+doclet.Concealed_Packages_Summary=\u9690\u85CF\u7684\u7A0B\u5E8F\u5305
+doclet.Packages_Summary=\u7A0B\u5E8F\u5305
doclet.Uses_Summary=\u4F7F\u7528
doclet.Provides_Summary=\u63D0\u4F9B
doclet.Module_Summary=\u6A21\u5757\u6982\u8981
@@ -142,6 +148,7 @@
doclet.Method_Detail=\u65B9\u6CD5\u8BE6\u7EC6\u8D44\u6599
doclet.Constructor_Detail=\u6784\u9020\u5668\u8BE6\u7EC6\u8D44\u6599
doclet.Deprecated=\u5DF2\u8FC7\u65F6\u3002
+doclet.DeprecatedForRemoval=\u5DF2\u8FC7\u65F6, \u5F85\u5220\u9664: \u6B64 API \u5143\u7D20\u5C06\u4ECE\u4EE5\u540E\u7684\u7248\u672C\u4E2D\u5220\u9664\u3002
doclet.Hidden=\u9690\u85CF
doclet.Groupname_already_used=\u5728 -group \u9009\u9879\u4E2D, groupname \u5DF2\u4F7F\u7528: {0}
doclet.value_tag_invalid_reference={0} (\u7531 @value \u6807\u8BB0\u5F15\u7528) \u4E3A\u672A\u77E5\u5F15\u7528\u3002
@@ -152,6 +159,7 @@
doclet.Use_Table_Summary=\u4F7F\u7528\u8868, \u5217\u8868{0}\u548C\u89E3\u91CA
doclet.Constants_Table_Summary={0}\u8868, \u5217\u8868\u5E38\u91CF\u5B57\u6BB5\u548C\u503C
doclet.Member_Table_Summary={0}\u8868, \u5217\u8868{1}\u548C\u89E3\u91CA
+doclet.Additional_Packages_Table_Summary={0} \u8868, \u5176\u4E2D\u5217\u51FA {1} \u548C {2}
doclet.fields=\u5B57\u6BB5
doclet.Fields=\u5B57\u6BB5
doclet.properties=\u5C5E\u6027
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2017, 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
@@ -51,7 +51,7 @@
main.opt.show.module.contents.desc=\u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u306E\u7C92\u5EA6\u3092\u6307\u5B9A\u3059\u308B\u3002\n\u4F7F\u7528\u53EF\u80FD\u306A\u5024\u306F\u3001"api"\u307E\u305F\u306F"all"\u3067\u3059\u3002
main.opt.expand.requires.arg=<value>
-main.opt.expand.requires.desc=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30BB\u30C3\u30C8\u3092\u62E1\u5F35\u3059\u308B\u305F\u3081\u306E\n\u30C4\u30FC\u30EB\u3092\u6307\u5B9A\u3059\u308B\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u660E\u793A\u7684\u306B\n\u6307\u5B9A\u3055\u308C\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u307F\u304C\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u307E\u3059\u3002"public"\u306E\u5024\u306F\u3001\n\u305D\u308C\u3089\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3059\u3079\u3066\u306E"requires public"\u4F9D\u5B58\u6027\u3092\u8FFD\u52A0\u3067\n\u542B\u3081\u307E\u3059\u3002"all"\u306E\u5024\u306F\u3001\u305D\u308C\u3089\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3059\u3079\u3066\u306E\u4F9D\u5B58\u6027\u3092\n\u542B\u3081\u307E\u3059\u3002
+main.opt.expand.requires.desc=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30BB\u30C3\u30C8\u3092\u62E1\u5F35\u3059\u308B\u305F\u3081\u306E\n\u30C4\u30FC\u30EB\u3092\u6307\u5B9A\u3059\u308B\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u660E\u793A\u7684\u306B\n\u6307\u5B9A\u3055\u308C\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u307F\u304C\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u307E\u3059\u3002"transitive"\u306E\u5024\u306F\u3001\n\u305D\u308C\u3089\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3059\u3079\u3066\u306E"requires transitive"\u4F9D\u5B58\u6027\u3092\u8FFD\u52A0\u3067\n\u542B\u3081\u307E\u3059\u3002"all"\u306E\u5024\u306F\u3001\u305D\u308C\u3089\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3059\u3079\u3066\u306E\u4F9D\u5B58\u6027\u3092\n\u542B\u3081\u307E\u3059\u3002
main.opt.help.desc=\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3059\u308B
--- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2017, 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
@@ -51,7 +51,7 @@
main.opt.show.module.contents.desc=\u6307\u5B9A\u6A21\u5757\u58F0\u660E\u7684\u6587\u6863\u7C92\u5EA6\u3002\n\u53EF\u80FD\u7684\u503C\u4E3A "api" \u6216 "all"\u3002
main.opt.expand.requires.arg=<\u503C>
-main.opt.expand.requires.desc=\u6307\u793A\u5DE5\u5177\u5C55\u5F00\u8981\u6587\u6863\u5316\u7684\u6A21\u5757\u96C6\u3002\n\u9ED8\u8BA4\u60C5\u51B5\u4E0B, \u5C06\u4EC5\u6587\u6863\u5316\u547D\u4EE4\u884C\u4E2D\u660E\u786E\n\u6307\u5B9A\u7684\u6A21\u5757\u3002\u503C "public" \u5C06\u989D\u5916\u5305\u542B\n\u8FD9\u4E9B\u6A21\u5757\u7684\u6240\u6709 "requires public"\n\u88AB\u4F9D\u8D56\u5BF9\u8C61\u3002\u503C "all" \u5C06\u5305\u542B\u8FD9\u4E9B\u6A21\u5757\n\u7684\u6240\u6709\u88AB\u4F9D\u8D56\u5BF9\u8C61\u3002
+main.opt.expand.requires.desc=\u6307\u793A\u5DE5\u5177\u5C55\u5F00\u8981\u6587\u6863\u5316\u7684\u6A21\u5757\u96C6\u3002\n\u9ED8\u8BA4\u60C5\u51B5\u4E0B, \u5C06\u4EC5\u6587\u6863\u5316\u547D\u4EE4\u884C\u4E2D\u660E\u786E\n\u6307\u5B9A\u7684\u6A21\u5757\u3002\u503C "transitive" \u5C06\u989D\u5916\u5305\u542B\n\u8FD9\u4E9B\u6A21\u5757\u7684\u6240\u6709 "requires transitive"\n\u88AB\u4F9D\u8D56\u5BF9\u8C61\u3002\u503C "all" \u5C06\u5305\u542B\u8FD9\u4E9B\u6A21\u5757\n\u7684\u6240\u6709\u88AB\u4F9D\u8D56\u5BF9\u8C61\u3002
main.opt.help.desc=\u663E\u793A\u547D\u4EE4\u884C\u9009\u9879\u5E76\u9000\u51FA
--- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -25,7 +25,7 @@
main.usage.summary=\u4F7F\u7528\u65B9\u6CD5: {0} <options> <classes>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-help\u3092\u4F7F\u7528\u3057\u307E\u3059
warn.prefix=\u8B66\u544A:
-warn.unexpected.class=\u30D0\u30A4\u30CA\u30EA\u30FB\u30D5\u30A1\u30A4\u30EB{0}\u306B{1}\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059
+warn.unexpected.class=\u30D5\u30A1\u30A4\u30EB{0}\u306B\u30AF\u30E9\u30B9{1}\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093
note.prefix=\u6CE8:
--- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/javap/resources/javap_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -25,7 +25,7 @@
main.usage.summary=\u7528\u6CD5: {0} <options> <classes>\n\u4F7F\u7528 -help \u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879
warn.prefix=\u8B66\u544A:
-warn.unexpected.class=\u4E8C\u8FDB\u5236\u6587\u4EF6{0}\u5305\u542B{1}
+warn.unexpected.class=\u6587\u4EF6 {0} \u4E0D\u5305\u542B\u7C7B {1}
note.prefix=\u6CE8:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -0,0 +1,29 @@
+main.usage=\u4F7F\u7528\u65B9\u6CD5: jdeprscan [options] '{dir|jar|class}' ...\n\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n --class-path PATH\n --for-removal\n --full-version\n -h --help\n -l --list\n --release 6|7|8|9\n -v --verbose\n --version
+
+main.help=\u975E\u63A8\u5968API\u306E\u4F7F\u7528\u306B\u3064\u3044\u3066\u5404\u5F15\u6570\u3092\u30B9\u30AD\u30E3\u30F3\u3057\u307E\u3059\u3002\u5F15\u6570\u306B\u306F\u3001\n\u30D1\u30C3\u30B1\u30FC\u30B8\u968E\u5C64\u306E\u30EB\u30FC\u30C8\u3092\u6307\u5B9A\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u30D5\u30A1\u30A4\u30EB\u3001\n\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30AF\u30E9\u30B9\u540D\u3092\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\u30AF\u30E9\u30B9\u540D\u306F\u3001\n\u5B8C\u5168\u4FEE\u98FE\u30AF\u30E9\u30B9\u540D\u3092\u4F7F\u7528\u3057\u3066\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\u30CD\u30B9\u30C8\u3055\u308C\u305F\n\u30AF\u30E9\u30B9\u306F$\u3067\u533A\u5207\u308A\u307E\u3059\u3002\u4F8B:\n\n java.lang.Thread$State\n\n--class-path\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u4F9D\u5B58\u3059\u308B\u30AF\u30E9\u30B9\u306E\u89E3\u6C7A\u306E\u305F\u3081\u306E\n\u691C\u7D22\u30D1\u30B9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n\n--for-removal\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30B9\u30AD\u30E3\u30F3\u3068\u30EA\u30B9\u30C8\u5316\u3092\u524A\u9664\u4E88\u5B9A\u3067\u975E\u63A8\u5968\u306EAPI\u306B\n\u9650\u5B9A\u3057\u307E\u3059\u3002\u30EA\u30EA\u30FC\u30B9\u5024\u304C6\u30017\u307E\u305F\u306F8\u306E\u5834\u5408\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\n--full-version\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30C4\u30FC\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u6587\u5B57\u5217\u306E\u5168\u4F53\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n\n--help\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30D8\u30EB\u30D7\u30FB\u30E1\u30C3\u30BB\u30FC\u30B8\u5168\u4F53\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n\n--list (-l)\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u975E\u63A8\u5968API\u30BB\u30C3\u30C8\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\u30B9\u30AD\u30E3\u30F3\u306F\u884C\u308F\u308C\u306A\u3044\n\u305F\u3081\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001JAR\u307E\u305F\u306F\u30AF\u30E9\u30B9\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n\n--release\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u30B9\u30AD\u30E3\u30F3\u3059\u308B\u975E\u63A8\u5968API\u306E\u30BB\u30C3\u30C8\u3092\u63D0\u4F9B\u3059\u308BJava SE\n\u30EA\u30EA\u30FC\u30B9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n\n--verbose (-v)\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u3001\u51E6\u7406\u4E2D\u306B\u8FFD\u52A0\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3067\u304D\u307E\u3059\u3002\n\n--version\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001\u7C21\u7565\u5316\u3055\u308C\u305F\u30C4\u30FC\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u6587\u5B57\u5217\u3092\u51FA\u529B\u3057\u307E\u3059\u3002
+
+main.xhelp=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30AA\u30D7\u30B7\u30E7\u30F3:\n\n --Xload-class CLASS\n \u6307\u5B9A\u3057\u305F\u30AF\u30E9\u30B9\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-csv CSVFILE\n \u6307\u5B9A\u3057\u305FCSV\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-dir DIR\n \u6307\u5B9A\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308B\u30AF\u30E9\u30B9\u968E\u5C64\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\n \u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-jar JARFILE\n \u6307\u5B9A\u3057\u305FJAR\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xload-jdk9 JAVA_HOME\n JAVA_HOME\u306B\u3042\u308BJDK\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n \u30E2\u30B8\u30E5\u30E9JDK\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n --Xload-old-jdk JAVA_HOME\n JAVA_HOME\u306B\u3042\u308BJDK\u304B\u3089\u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n \u30E2\u30B8\u30E5\u30E9JDK\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u6307\u5B9A\u3057\u305FJDK\u306F\n rt.jar\u30D5\u30A1\u30A4\u30EB\u3092\u6301\u3064"\u30AF\u30E9\u30B7\u30C3\u30AF"\u306AJDK\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n --Xload-self\n \u5B9F\u884C\u4E2DJDK\u30A4\u30E1\u30FC\u30B8\u306Ejrt:\u30D5\u30A1\u30A4\u30EB\u30B7\u30B9\u30C6\u30E0\u3092\u8D70\u67FB\u3059\u308B\u3053\u3068\u306B\u3088\u308A\n \u975E\u63A8\u5968\u60C5\u5831\u3092\u30ED\u30FC\u30C9\u3057\u307E\u3059\u3002\n --Xcompiler-arg ARG\n \u30B3\u30F3\u30D1\u30A4\u30E9\u5F15\u6570\u306E\u30EA\u30B9\u30C8\u306BARG\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002\n --Xcsv-comment COMMENT\n \u30B3\u30E1\u30F3\u30C8\u884C\u3068\u3057\u3066COMMENT\u3092\u51FA\u529BCSV\u30D5\u30A1\u30A4\u30EB\u306B\u8FFD\u52A0\u3057\u307E\u3059\u3002\n -Xprint-csv\u3082\u6307\u5B9A\u3057\u305F\u5834\u5408\u306E\u307F\u6709\u52B9\u3067\u3059\u3002\n --Xhelp\n \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059\u3002\n --Xprint-csv\n \u3042\u3089\u3086\u308B\u30AF\u30E9\u30B9\u307E\u305F\u306FJAR\u30D5\u30A1\u30A4\u30EB\u3092\u30B9\u30AD\u30E3\u30F3\u3059\u308B\u304B\u308F\u308A\u306B\n \u30ED\u30FC\u30C9\u3057\u305F\u975E\u63A8\u5968\u60C5\u5831\u3092\u542B\u3080CSV\u30D5\u30A1\u30A4\u30EB\u3092\u51FA\u529B\u3057\u307E\u3059\u3002
+
+scan.process.class=\u51E6\u7406\u30AF\u30E9\u30B9 {0}...
+
+scan.dep.normal=
+scan.dep.removal=(forRemoval=true)
+
+scan.err.exception=\u30A8\u30E9\u30FC: \u4E88\u671F\u3057\u306A\u3044\u4F8B\u5916{0}
+scan.err.noclass=\u30A8\u30E9\u30FC: \u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+scan.err.nofile=\u30A8\u30E9\u30FC: \u30D5\u30A1\u30A4\u30EB{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
+scan.err.nomethod=\u30A8\u30E9\u30FC: Methodref {0}.{1}:{2}\u3092\u89E3\u6C7A\u3067\u304D\u307E\u305B\u3093
+
+scan.head.jar=JAR\u30D5\u30A1\u30A4\u30EB {0}:
+scan.head.dir=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {0}:
+
+scan.out.extends={0} {1}\u304C\u975E\u63A8\u5968\u306E\u30AF\u30E9\u30B9{2}\u3092\u62E1\u5F35\u3057\u3066\u3044\u307E\u3059 {3}
+scan.out.implements={0} {1}\u304C\u975E\u63A8\u5968\u306E\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9{2}\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059 {3}
+scan.out.usesclass={0} {1}\u304C\u975E\u63A8\u5968\u306E\u30AF\u30E9\u30B9{2}\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059 {3}
+scan.out.usesmethod={0} {1}\u304C\u975E\u63A8\u5968\u30E1\u30BD\u30C3\u30C9{2}::{3}{4}\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059 {5}
+scan.out.usesintfmethod={0} {1}\u304C\u975E\u63A8\u5968\u30E1\u30BD\u30C3\u30C9{2}::{3}{4}\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059 {5}
+scan.out.usesfield={0} {1}\u304C\u975E\u63A8\u5968\u30D5\u30A3\u30FC\u30EB\u30C9{2}::{3}{4}\u3092\u4F7F\u7528\u3057\u3066\u3044\u307E\u3059
+scan.out.hasfield={0} {1}\u306B\u306F\u3001\u975E\u63A8\u5968\u306E\u30BF\u30A4\u30D7{3} {4}\u306E\u3001{2}\u3068\u3044\u3046\u540D\u524D\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3042\u308A\u307E\u3059
+scan.out.methodparmtype={0} {1}\u306B\u306F\u3001\u975E\u63A8\u5968\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7{3} {4}\u3092\u6301\u3064{2}\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u3042\u308A\u307E\u3059
+scan.out.methodrettype={0} {1}\u306B\u306F\u3001\u975E\u63A8\u5968\u306E\u623B\u308A\u30BF\u30A4\u30D7{3} {4}\u3092\u6301\u3064{2}\u3068\u3044\u3046\u540D\u524D\u306E\u30E1\u30BD\u30C3\u30C9\u304C\u3042\u308A\u307E\u3059
+scan.out.methodoverride={0} {1}\u304C\u975E\u63A8\u5968\u30E1\u30BD\u30C3\u30C9{2}::{3}{4}\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059 {5}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -0,0 +1,29 @@
+main.usage=\u7528\u6CD5: jdeprscan [\u9009\u9879] '{dir|jar|class}' ...\n\n\u9009\u9879:\n --class-path PATH\n --for-removal\n --full-version\n -h --help\n -l --list\n --release 6|7|8|9\n -v --verbose\n --version
+
+main.help=\u626B\u63CF\u6BCF\u4E2A\u53C2\u6570\u4EE5\u4E86\u89E3\u662F\u5426\u4F7F\u7528\u4E86\u8FC7\u65F6\u7684 API\u3002\n\u53C2\u6570\u53EF\u4EE5\u662F\u6307\u5B9A\u7A0B\u5E8F\u5305\u5206\u5C42\u7ED3\u6784, JAR \u6587\u4EF6, \n\u7C7B\u6587\u4EF6\u6216\u7C7B\u540D\u7684\u6839\u7684\u76EE\u5F55\u3002\u7C7B\u540D\u5FC5\u987B\n\u4F7F\u7528\u5168\u9650\u5B9A\u7C7B\u540D\u6307\u5B9A, \u5E76\u4F7F\u7528 $ \u5206\u9694\u7B26\n\u6307\u5B9A\u5D4C\u5957\u7C7B, \u4F8B\u5982,\n\n java.lang.Thread$State\n\n--class-path \u9009\u9879\u63D0\u4F9B\u4E86\u7528\u4E8E\u89E3\u6790\u4ECE\u5C5E\u7C7B\u7684\n\u641C\u7D22\u8DEF\u5F84\u3002\n\n--for-removal \u9009\u9879\u9650\u5236\u626B\u63CF\u6216\u5217\u51FA\u5DF2\u8FC7\u65F6\u5E76\u5F85\u5220\u9664\n\u7684 API\u3002\u4E0D\u80FD\u4E0E\u53D1\u884C\u7248\u503C 6, 7 \u6216 8 \u4E00\u8D77\u4F7F\u7528\u3002\n\n--full-version \u9009\u9879\u8F93\u51FA\u5DE5\u5177\u7684\u5B8C\u6574\u7248\u672C\u5B57\u7B26\u4E32\u3002\n\n--help \u9009\u9879\u8F93\u51FA\u5B8C\u6574\u7684\u5E2E\u52A9\u6D88\u606F\u3002\n\n--list (-l) \u9009\u9879\u8F93\u51FA\u4E00\u7EC4\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E0D\u6267\u884C\u626B\u63CF, \n\u56E0\u6B64\u4E0D\u5E94\u63D0\u4F9B\u4EFB\u4F55\u76EE\u5F55, jar \u6216\u7C7B\u53C2\u6570\u3002\n\n--release \u9009\u9879\u6307\u5B9A\u63D0\u4F9B\u8981\u626B\u63CF\u7684\u5DF2\u8FC7\u65F6 API \u96C6\n\u7684 Java SE \u53D1\u884C\u7248\u3002\n\n--verbose (-v) \u9009\u9879\u5728\u5904\u7406\u671F\u95F4\u542F\u7528\u9644\u52A0\u6D88\u606F\u8F93\u51FA\u3002\n\n--version \u9009\u9879\u8F93\u51FA\u5DE5\u5177\u7684\u7F29\u5199\u7248\u672C\u5B57\u7B26\u4E32\u3002
+
+main.xhelp=\u4E0D\u652F\u6301\u7684\u9009\u9879:\n\n --Xload-class CLASS\n \u4ECE\u5DF2\u547D\u540D\u7C7B\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-csv CSVFILE\n \u4ECE\u5DF2\u547D\u540D CSV \u6587\u4EF6\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-dir DIR\n \u4ECE\u5DF2\u547D\u540D\u76EE\u5F55\u4E2D\u7684\u7C7B\u5206\u5C42\u7ED3\u6784\u52A0\u8F7D\n \u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-jar JARFILE\n \u4ECE\u5DF2\u547D\u540D JAR \u6587\u4EF6\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xload-jdk9 JAVA_HOME\n \u4ECE\u4F4D\u4E8E JAVA_HOME \u7684 JDK \u4E2D\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F, \n \u8BE5 JDK \u5FC5\u987B\u662F\u4E00\u4E2A\u6A21\u5757\u5316 JDK\u3002\n --Xload-old-jdk JAVA_HOME\n \u4ECE\u4F4D\u4E8E JAVA_HOME \u7684 JDK \u4E2D\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F, \n \u8BE5 JDK \u4E0D\u80FD\u662F\u4E00\u4E2A\u6A21\u5757\u5316 JDK\u3002\u76F8\u53CD, \n \u5DF2\u547D\u540D JDK \u5FC5\u987B\u662F\u5E26\u6709 rt.jar \u6587\u4EF6\u7684 "\u7ECF\u5178" JDK\u3002\n --Xload-self\n \u901A\u8FC7\u904D\u5386\u6B63\u5728\u8FD0\u884C\u7684 JDK \u6620\u50CF\u7684 jrt: \u6587\u4EF6\u7CFB\u7EDF:\n \u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u3002\n --Xcompiler-arg ARG\n \u5C06 ARG \u6DFB\u52A0\u5230\u7F16\u8BD1\u5668\u53C2\u6570\u5217\u8868\u4E2D\u3002\n --Xcsv-comment COMMENT\n \u5C06 COMMENT \u4F5C\u4E3A\u6CE8\u91CA\u884C\u6DFB\u52A0\u5230\u8F93\u51FA CSV \u6587\u4EF6\u3002\n \u4EC5\u5F53\u540C\u65F6\u63D0\u4F9B\u4E86 -Xprint-csv \u624D\u6709\u6548\u3002\n --Xhelp\n \u8F93\u51FA\u6B64\u6D88\u606F\u3002\n --Xprint-csv\n \u8F93\u51FA\u5305\u542B\u5DF2\u52A0\u8F7D\u8FC7\u65F6\u4FE1\u606F\u7684 CSV \u6587\u4EF6\n \u800C\u4E0D\u626B\u63CF\u4EFB\u4F55\u7C7B\u6216 JAR \u6587\u4EF6\u3002
+
+scan.process.class=\u6B63\u5728\u5904\u7406\u7C7B {0}...
+
+scan.dep.normal=
+scan.dep.removal=(forRemoval=true)
+
+scan.err.exception=\u9519\u8BEF: \u51FA\u73B0\u610F\u5916\u7684\u5F02\u5E38\u9519\u8BEF {0}
+scan.err.noclass=\u9519\u8BEF: \u627E\u4E0D\u5230\u7C7B {0}
+scan.err.nofile=\u9519\u8BEF: \u627E\u4E0D\u5230\u6587\u4EF6 {0}
+scan.err.nomethod=\u9519\u8BEF: \u65E0\u6CD5\u89E3\u6790 Methodref {0}.{1}:{2}
+
+scan.head.jar=Jar \u6587\u4EF6 {0}:
+scan.head.dir=\u76EE\u5F55 {0}:
+
+scan.out.extends={0} {1} \u6269\u5C55\u5DF2\u8FC7\u65F6\u7684\u7C7B {2} {3}
+scan.out.implements={0} {1} \u5B9E\u73B0\u5DF2\u8FC7\u65F6\u7684\u63A5\u53E3 {2} {3}
+scan.out.usesclass={0} {1} \u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684\u7C7B {2} {3}
+scan.out.usesmethod={0} {1} \u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684\u65B9\u6CD5 {2}::{3}{4} {5}
+scan.out.usesintfmethod={0} {1} \u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684\u65B9\u6CD5 {2}::{3}{4} {5}
+scan.out.usesfield={0} {1} \u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684\u5B57\u6BB5 {2}::{3} {4}
+scan.out.hasfield={0} {1} \u5177\u6709\u540D\u4E3A {2} \u7684\u5B57\u6BB5, \u5176\u7C7B\u578B\u4E3A\u5DF2\u8FC7\u65F6\u7684 {3} {4}
+scan.out.methodparmtype={0} {1} \u5177\u6709\u540D\u4E3A {2} \u7684\u65B9\u6CD5, \u5176\u53C2\u6570\u7C7B\u578B\u4E3A\u5DF2\u8FC7\u65F6\u7684 {3} {4}
+scan.out.methodrettype={0} {1} \u5177\u6709\u540D\u4E3A {2} \u7684\u65B9\u6CD5, \u5176\u8FD4\u56DE\u7C7B\u578B\u4E3A\u5DF2\u8FC7\u65F6\u7684 {3} {4}
+scan.out.methodoverride={0} {1} \u8986\u76D6\u5DF2\u8FC7\u65F6\u7684\u65B9\u6CD5 {2}::{3}{4} {5}
--- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -44,7 +44,9 @@
main.opt.apionly=\ -apionly\n --api-only \u5206\u6790\u3092API\u3001\u3064\u307E\u308A\u3001\u30D1\u30D6\u30EA\u30C3\u30AF\u30FB\u30AF\u30E9\u30B9\u306E\n \u30D1\u30D6\u30EA\u30C3\u30AF\u30FB\u30E1\u30F3\u30D0\u30FC\u304A\u3088\u3073\u4FDD\u8B77\u3055\u308C\u305F\u30E1\u30F3\u30D0\u30FC\u306E\n \u7F72\u540D\u306B\u304A\u3051\u308B\u4F9D\u5B58\u6027(\u30D5\u30A3\u30FC\u30EB\u30C9\u30FB\u30BF\u30A4\u30D7\u3001\u30E1\u30BD\u30C3\u30C9\u30FB\n \u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\u3001\u623B\u3055\u308C\u305F\u30BF\u30A4\u30D7\u3001\u30C1\u30A7\u30C3\u30AF\u3055\u308C\u305F\n \u4F8B\u5916\u30BF\u30A4\u30D7\u306A\u3069)\u306B\u5236\u9650\u3057\u307E\u3059\u3002
-main.opt.generate-module-info=\ --generate-module-info <dir> \u6307\u5B9A\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306Bmodule-info.java\u3092\u751F\u6210\u3057\u307E\u3059\u3002\n \u6307\u5B9A\u3057\u305FJAR\u30D5\u30A1\u30A4\u30EB\u3092\u5206\u6790\u3057\u307E\u3059\u3002\n \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F--dot-output\u307E\u305F\u306F--class-path\n \u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
+main.opt.generate-module-info=\ --generate-module-info <dir> \u6307\u5B9A\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306Bmodule-info.java\u3092\u751F\u6210\u3057\u307E\u3059\u3002\n \u6307\u5B9A\u3057\u305FJAR\u30D5\u30A1\u30A4\u30EB\u3092\u5206\u6790\u3057\u307E\u3059\u3002\n \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F--dot-output\u307E\u305F\u306F--class-path\n \u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u30AA\u30FC\u30D7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u306F\n --generate-open-module\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+
+main.opt.generate-open-module=\ --generate-open-module <dir> \u6307\u5B9A\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3001\u6307\u5B9A\u3057\u305F\n JAR\u30D5\u30A1\u30A4\u30EB\u306Emodule-info.java\u3092\u30AA\u30FC\u30D7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3068\u3057\u3066\n \u751F\u6210\u3057\u307E\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F--dot-output\n \u307E\u305F\u306F--class-path\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002
main.opt.check=\ --check <module-name>[,<module-name>...\n \u6307\u5B9A\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u5206\u6790\u3057\u307E\u3059\n \u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30C7\u30A3\u30B9\u30AF\u30EA\u30D7\u30BF\u3001\u5206\u6790\u5F8C\u306E\u7D50\u679C\u30E2\u30B8\u30E5\u30FC\u30EB\u4F9D\u5B58\u6027\n \u304A\u3088\u3073\u9077\u79FB\u524A\u6E1B\u5F8C\u306E\u30B0\u30E9\u30D5\u3092\n \u51FA\u529B\u3057\u307E\u3059\u3002\n \u672A\u4F7F\u7528\u306E\u4FEE\u98FE\u3055\u308C\u305F\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3082\u8B58\u5225\u3057\u307E\u3059\u3002
@@ -53,14 +55,20 @@
main.opt.jdkinternals=\ -jdkinternals\n --jdk-internals JDK\u5185\u90E8API\u306E\u30AF\u30E9\u30B9\u30EC\u30D9\u30EB\u306E\u4F9D\u5B58\u6027\u3092\u691C\u51FA\u3057\u307E\u3059\u3002\n \u30C7\u30D5\u30A9\u30EB\u30C8\u3067\u306F\u3001-include\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u306A\u3044\u3068\u3001\n --class-path\u306E\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3068\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u5206\u6790\u3057\u307E\u3059\u3002\n \u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F-p\u3001-e\u304A\u3088\u3073-s\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u4E00\u7DD2\u306B\n \u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n \u8B66\u544A: JDK\u5185\u90E8API\u306F\u3001\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u304F\u306A\u308A\u307E\u3059\u3002
+main.opt.list-deps=\ --list-deps \u4F9D\u5B58\u95A2\u4FC2\u3068JDK\u5185\u90E8API\u306E\u4F7F\u7528\u3092\n \u30EA\u30B9\u30C8\u3057\u307E\u3059\u3002
+
+main.opt.list-reduced-deps=\ --list-reduced-deps --list-deps\u3068\u540C\u3058\u3067\u3059\u304C\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30B0\u30E9\u30D5\n \u304B\u3089\u542B\u610F\u3055\u308C\u305F\u8AAD\u53D6\u308A\u30A8\u30C3\u30B8\u3092\u30EA\u30B9\u30C8\u3057\u307E\u305B\u3093\n \u30E2\u30B8\u30E5\u30FC\u30EBM1\u304CM2\u3068M3\u306B\u4F9D\u5B58\u3057\u3066\u304A\u308A\u3001\n M2\u304CM3\u4E0A\u3067requires public\u3067\u3042\u308B\u5834\u5408\u3001M3\u3092\u8AAD\u307F\u53D6\u308BM1\u306F\n \u542B\u610F\u3055\u308C\u3066\u304A\u308A\u3001\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30B0\u30E9\u30D5\u304B\u3089\u524A\u9664\u3055\u308C\u307E\u3059\u3002
+
main.opt.depth=\ -depth=<depth> \u63A8\u79FB\u7684\u306A\u4F9D\u5B58\u6027\u5206\u6790\u306E\u6DF1\u3055\u3092\n \u6307\u5B9A\u3057\u307E\u3059
main.opt.q=\ -q -quiet --generate-module-info\u51FA\u529B\u3067\n \u6B20\u843D\u3057\u3066\u3044\u308B\u4F9D\u5B58\u6027\u3092\u8868\u793A\u3057\u307E\u305B\u3093\u3002
main.opt.multi-release=\ --multi-release <version> \u30DE\u30EB\u30C1\u30EA\u30EA\u30FC\u30B9jar\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3059\u308B\u969B\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\n \u6307\u5B9A\u3057\u307E\u3059\u3002<version>\u306F\u30019\u307E\u305F\u306F\u30D9\u30FC\u30B9\u4EE5\u4E0A\u306E\n \u6574\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
+err.command.set=\u30AA\u30D7\u30B7\u30E7\u30F3{0}\u3068{1}\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
err.unknown.option=\u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
err.missing.arg={0}\u306B\u5024\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
+err.missing.dependences=\u4F9D\u5B58\u6027\u304C\u6B20\u843D\u3057\u3066\u3044\u307E\u3059
err.invalid.arg.for.option=\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5F15\u6570\u304C\u7121\u52B9\u3067\u3059: {0}
err.option.after.class=\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AF\u30E9\u30B9\u306E\u524D\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}
err.genmoduleinfo.not.jarfile={0}\u306F\u3001--generate-module-info\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3068\u3082\u306B\u6307\u5B9A\u3067\u304D\u306A\u3044\u30E2\u30B8\u30E5\u30E9JAR\u30D5\u30A1\u30A4\u30EB\u3067\u3059
@@ -68,11 +76,11 @@
err.profiles.msg=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093
err.exception.message={0}
err.invalid.path=\u7121\u52B9\u306A\u30D1\u30B9: {0}
-err.invalid.module.option={0}\u306F{1}\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u4E00\u7DD2\u306B\u8A2D\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002
-err.invalid.filters=--package (-p)\u3001--regex (-e)\u3001--require\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u3044\u305A\u308C\u304B\u3092\u8A2D\u5B9A\u3067\u304D\u307E\u3059
+err.invalid.options={0}\u306F{1}\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
err.module.not.found=\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}
err.root.module.not.set=\u30EB\u30FC\u30C8\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30BB\u30C3\u30C8\u304C\u7A7A\u3067\u3059
-err.invalid.inverse.option={0}\u306F--inverse\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u4E00\u7DD2\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
+err.option.already.specified={0}\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8907\u6570\u56DE\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002
+err.filter.not.specified=--package (-p)\u3001--regex (-e)\u3001--require\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
err.multirelease.option.exists={0}\u306F\u30DE\u30EB\u30C1\u30EA\u30EA\u30FC\u30B9jar\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001--multi-release\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059
err.multirelease.option.notfound={0}\u306F\u30DE\u30EB\u30C1\u30EA\u30EA\u30FC\u30B9jar\u30D5\u30A1\u30A4\u30EB\u3067\u3059\u304C\u3001--multi-release\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093
err.multirelease.version.associated=\u30AF\u30E9\u30B9{0}\u306F\u3059\u3067\u306B\u30D0\u30FC\u30B8\u30E7\u30F3{1}\u306B\u95A2\u9023\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u3059\u3002\u30D0\u30FC\u30B8\u30E7\u30F3{2}\u306E\u8FFD\u52A0\u3092\u8A66\u307F\u307E\u3059
@@ -82,5 +90,10 @@
warn.split.package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F{1} {2}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059
warn.replace.useJDKInternals=JDK\u5185\u90E8API\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u304A\u3089\u305A\u3001JDK\u5B9F\u88C5\u5C02\u7528\u3067\u3059\u304C\u3001\u4E92\u63DB\u6027\u306A\u3057\u3067\n\u524A\u9664\u307E\u305F\u306F\u5909\u66F4\u3055\u308C\u308B\u5834\u5408\u304C\u3042\u308A\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u4E2D\u65AD\u3055\u305B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\nJDK\u5185\u90E8API\u306E\u4F9D\u5B58\u6027\u3092\u524A\u9664\u3059\u308B\u3088\u3046\u30B3\u30FC\u30C9\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002\nJDK\u5185\u90E8API\u306E\u7F6E\u63DB\u306B\u95A2\u3059\u308B\u6700\u65B0\u306E\u66F4\u65B0\u306B\u3064\u3044\u3066\u306F\u3001\u6B21\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044:\n{0}
+split.package=\u5206\u5272\u30D1\u30C3\u30B1\u30FC\u30B8: {0} {1}\n
+inverse.transitive.dependencies.on={0}\u4E0A\u3067\u63A8\u79FB\u7684\u306A\u4F9D\u5B58\u6027\u3092\u9006\u8EE2\u3057\u307E\u3059
+inverse.transitive.dependencies.matching={0}\u306B\u4E00\u81F4\u3059\u308B\u63A8\u79FB\u7684\u306A\u4F9D\u5B58\u6027\u3092\u9006\u8EE2\u3057\u307E\u3059
+internal.api.column.header=JDK\u5185\u90E8API
+public.api.replacement.column.header=\u4FEE\u6B63\u5019\u88DC
artifact.not.found=\u898B\u3064\u304B\u308A\u307E\u305B\u3093
jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
--- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -44,7 +44,9 @@
main.opt.apionly=\ -apionly\n --api-only \u901A\u8FC7\u516C\u5171\u7C7B (\u5305\u62EC\u5B57\u6BB5\u7C7B\u578B, \u65B9\u6CD5\n \u53C2\u6570\u7C7B\u578B, \u8FD4\u56DE\u7C7B\u578B, \u53D7\u63A7\u5F02\u5E38\u9519\u8BEF\n \u7C7B\u578B\u7B49) \u7684\u516C\u5171\u548C\u53D7\u4FDD\u62A4\u6210\u5458\u7684\u7B7E\u540D\n \u9650\u5236\u5BF9 API (\u5373\u88AB\u4F9D\u8D56\u5BF9\u8C61)\n \u8FDB\u884C\u5206\u6790\u3002
-main.opt.generate-module-info=\ --generate-module-info <\u76EE\u5F55> \u5728\u6307\u5B9A\u76EE\u5F55\u4E0B\u751F\u6210 module-info.java\u3002\n \u5C06\u5206\u6790\u6307\u5B9A\u7684 JAR \u6587\u4EF6\u3002\n \u6B64\u9009\u9879\u4E0D\u80FD\u4E0E --dot-output \n \u6216 --class-path \u4E00\u8D77\u4F7F\u7528\u3002
+main.opt.generate-module-info=\ --generate-module-info <\u76EE\u5F55> \u5728\u6307\u5B9A\u76EE\u5F55\u4E0B\u751F\u6210 module-info.java\u3002\n \u5C06\u5206\u6790\u6307\u5B9A\u7684 JAR \u6587\u4EF6\u3002\n \u6B64\u9009\u9879\u4E0D\u80FD\u4E0E --dot-output \n \u6216 --class-path \u4E00\u8D77\u4F7F\u7528\u3002\u5BF9\u6253\u5F00\u7684\n \u6A21\u5757\u4F7F\u7528 --generate-open-module \u9009\u9879\u3002
+
+main.opt.generate-open-module=\ --generate-open-module <dir> \u4EE5\u6253\u5F00\u6A21\u5757\u7684\u65B9\u5F0F\u4E3A\u6307\u5B9A\u76EE\u5F55\u4E0B\u7684\n \u6307\u5B9A JAR \u6587\u4EF6\u751F\u6210 module-info.java\u3002\n \u6B64\u9009\u9879\u4E0D\u80FD\u4E0E --dot-output \u6216\n --class-path \u4E00\u8D77\u4F7F\u7528\u3002
main.opt.check=\ --check <\u6A21\u5757\u540D\u79F0>[,<\u6A21\u5757\u540D\u79F0>...\n \u5206\u6790\u6307\u5B9A\u6A21\u5757\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\n \u5B83\u8F93\u51FA\u6A21\u5757\u63CF\u8FF0\u7B26, \u5206\u6790\u4E4B\u540E\n \u751F\u6210\u7684\u6A21\u5757\u88AB\u4F9D\u8D56\u5BF9\u8C61\u4EE5\u53CA\n \u8F6C\u6362\u51CF\u5C11\u4E4B\u540E\u7684\u56FE\u5F62\u3002\u5B83\u8FD8\n \u6307\u793A\u4EFB\u4F55\u672A\u4F7F\u7528\u7684\u5408\u683C\u5BFC\u51FA\u3002
@@ -53,14 +55,20 @@
main.opt.jdkinternals=\ -jdkinternals\n --jdk-internals \u5728 JDK \u5185\u90E8 API \u4E0A\u67E5\u627E\u7C7B\u7EA7\u522B\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\u3002\n \u9664\u975E\u6307\u5B9A\u4E86 -include \u9009\u9879, \u5426\u5219\u9ED8\u8BA4\u60C5\u51B5\u4E0B,\n \u5B83\u5206\u6790 --class-path \u4E0A\u7684\u6240\u6709\u7C7B\u548C\u8F93\u5165\u6587\u4EF6\u3002\n \u6B64\u9009\u9879\u4E0D\u80FD\u4E0E -p, -e \u548C -s \u9009\u9879\n \u4E00\u8D77\u4F7F\u7528\u3002\n \u8B66\u544A: \u65E0\u6CD5\u8BBF\u95EE JDK \u5185\u90E8 API\u3002
+main.opt.list-deps=\ --list-deps \u5217\u51FA JDK \u5185\u90E8 API \u7684\n \u88AB\u4F9D\u8D56\u5BF9\u8C61\u548C\u4F7F\u7528\u60C5\u51B5\u3002
+
+main.opt.list-reduced-deps=\ --list-reduced-deps \u4E0E --list-deps \u76F8\u540C, \u4E0D\u5217\u51FA\n \u6A21\u5757\u56FE\u4E2D\u7684\u9690\u5F0F\u8BFB\u53D6\u7EF4\u8FB9\u3002\n \u5982\u679C\u6A21\u5757 M1 \u4F9D\u8D56\u4E8E M2 \u548C M3,\n M2 \u8981\u6C42\u5728 M3 \u4E0A\u662F\u516C\u5171\u7684, \u5219 M1 \u8BFB\u53D6 M3 \n \u7684\u64CD\u4F5C\u662F\u9690\u5F0F\u7684, \u5E76\u4E14\u4F1A\u4ECE\u6A21\u5757\u56FE\u4E2D\u5220\u9664\u3002
+
main.opt.depth=\ -depth=<\u6DF1\u5EA6> \u6307\u5B9A\u8FC7\u6E21\u88AB\u4F9D\u8D56\u5BF9\u8C61\u5206\u6790\n \u7684\u6DF1\u5EA6
main.opt.q=\ -q -quiet \u5728 --generate-module-info \u8F93\u51FA\u4E2D\n \u4E0D\u663E\u793A\u7F3A\u5C11\u7684\u88AB\u4F9D\u8D56\u5BF9\u8C61\u3002
main.opt.multi-release=\ --multi-release <\u7248\u672C> \u6307\u5B9A\u5904\u7406\u591A\u53D1\u884C\u7248 jar \u6587\u4EF6\u65F6\u7684\n \u7248\u672C\u3002<\u7248\u672C> \u5E94\u4E3A\u5927\u4E8E\u7B49\u4E8E 9 \n \u7684\u6574\u6570\u6216\u57FA\u6570\u3002
+err.command.set=\u6307\u5B9A\u4E86 {0} \u548C {1} \u9009\u9879\u3002
err.unknown.option=\u672A\u77E5\u9009\u9879: {0}
err.missing.arg=\u6CA1\u6709\u4E3A{0}\u6307\u5B9A\u503C
+err.missing.dependences=\u7F3A\u5C11\u88AB\u4F9D\u8D56\u5BF9\u8C61
err.invalid.arg.for.option=\u9009\u9879\u7684\u53C2\u6570\u65E0\u6548: {0}
err.option.after.class=\u5FC5\u987B\u5728\u7C7B\u4E4B\u524D\u6307\u5B9A\u9009\u9879: {0}
err.genmoduleinfo.not.jarfile={0} \u662F\u65E0\u6CD5\u4F7F\u7528 --generate-module-info \u9009\u9879\u6307\u5B9A\u7684\u6A21\u5757\u5316 JAR \u6587\u4EF6
@@ -68,11 +76,11 @@
err.profiles.msg=\u6CA1\u6709\u914D\u7F6E\u6587\u4EF6\u4FE1\u606F
err.exception.message={0}
err.invalid.path=\u65E0\u6548\u8DEF\u5F84: {0}
-err.invalid.module.option=\u65E0\u6CD5\u4F7F\u7528 {1} \u9009\u9879\u8BBE\u7F6E {0}\u3002
-err.invalid.filters=\u53EA\u80FD\u8BBE\u7F6E --package (-p), --regex (-e), --require \u9009\u9879\u4E2D\u7684\u4E00\u4E2A
+err.invalid.options={0} \u4E0D\u80FD\u4E0E {1} \u9009\u9879\u4E00\u8D77\u4F7F\u7528
err.module.not.found=\u627E\u4E0D\u5230\u6A21\u5757: {0}
err.root.module.not.set=\u6839\u6A21\u5757\u96C6\u4E3A\u7A7A
-err.invalid.inverse.option={0} \u4E0D\u80FD\u4E0E --inverse \u9009\u9879\u4E00\u8D77\u4F7F\u7528
+err.option.already.specified=\u591A\u6B21\u6307\u5B9A\u4E86 {0} \u9009\u9879\u3002
+err.filter.not.specified=\u5FC5\u987B\u6307\u5B9A --package (-p), --regex (-e), --require \u9009\u9879
err.multirelease.option.exists={0} \u4E0D\u662F\u591A\u53D1\u884C\u7248 jar \u6587\u4EF6, \u4F46\u8BBE\u7F6E\u4E86 --multi-release \u9009\u9879
err.multirelease.option.notfound={0} \u662F\u591A\u53D1\u884C\u7248 jar \u6587\u4EF6, \u4F46\u672A\u8BBE\u7F6E --multi-release \u9009\u9879
err.multirelease.version.associated=\u7C7B {0} \u5DF2\u4E0E\u7248\u672C {1} \u5173\u8054, \u6B63\u5728\u5C1D\u8BD5\u6DFB\u52A0\u7248\u672C {2}
@@ -82,5 +90,10 @@
warn.split.package=\u5DF2\u5728{1} {2}\u4E2D\u5B9A\u4E49\u7A0B\u5E8F\u5305{0}
warn.replace.useJDKInternals=\u4E0D\u652F\u6301 JDK \u5185\u90E8 API, \u5B83\u4EEC\u4E13\u7528\u4E8E\u901A\u8FC7\u4E0D\u517C\u5BB9\u65B9\u5F0F\u6765\n\u5220\u9664\u6216\u66F4\u6539\u7684 JDK \u5B9E\u73B0, \u53EF\u80FD\u4F1A\u635F\u574F\u60A8\u7684\u5E94\u7528\u7A0B\u5E8F\u3002\n\u8BF7\u4FEE\u6539\u60A8\u7684\u4EE3\u7801, \u6D88\u9664\u4E0E\u4EFB\u4F55 JDK \u5185\u90E8 API \u7684\u76F8\u5173\u6027\u3002\n\u6709\u5173 JDK \u5185\u90E8 API \u66FF\u6362\u7684\u6700\u65B0\u66F4\u65B0, \u8BF7\u67E5\u770B:\n{0}
+split.package=\u62C6\u5206\u7A0B\u5E8F\u5305: {0} {1}\n
+inverse.transitive.dependencies.on={0} \u7684\u9006\u5411\u8FC7\u6E21\u88AB\u4F9D\u8D56\u5BF9\u8C61
+inverse.transitive.dependencies.matching=\u4E0E {0} \u5339\u914D\u7684\u9006\u5411\u8FC7\u6E21\u88AB\u4F9D\u8D56\u5BF9\u8C61
+internal.api.column.header=JDK \u5185\u90E8 API
+public.api.replacement.column.header=\u5EFA\u8BAE\u7684\u66FF\u6362
artifact.not.found=\u627E\u4E0D\u5230
jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
--- a/langtools/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2017, 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
@@ -23,11 +23,11 @@
# questions.
#
-jshell.msg.welcome =JShell\u3078\u3088\u3046\u3053\u305D -- \u30D0\u30FC\u30B8\u30E7\u30F3{0}\n\u6982\u8981\u306B\u3064\u3044\u3066\u306F\u3001\u6B21\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: /help intro\n
+jshell.msg.welcome =JShell\u3078\u3088\u3046\u3053\u305D -- \u30D0\u30FC\u30B8\u30E7\u30F3{0}\n\u6982\u8981\u306B\u3064\u3044\u3066\u306F\u3001\u6B21\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: /help intro
jshell.err.opt.arg = {0}\u3078\u306E\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093\u3002
jshell.err.opt.invalid = \u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}\u3002
jshell.err.opt.one = {0}\u30AA\u30D7\u30B7\u30E7\u30F3\u306F1\u3064\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
-jshell.err.opt.startup.one = --startup\u307E\u305F\u306F--no-startup\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u3069\u3061\u3089\u304B\u4E00\u65B9\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
+jshell.err.opt.startup.conflict = \u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u7AF6\u5408: --startup\u3068--no-startup\u306E\u4E21\u65B9\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002
jshell.err.opt.feedback.one = \u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3(--feedback\u3001-q\u3001-s\u307E\u305F\u306F-v)\u306F1\u3064\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
jshell.err.opt.unknown = \u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}
@@ -48,12 +48,15 @@
jshell.err.no.such.command.or.snippet.id = \u6307\u5B9A\u3055\u308C\u305F\u30B3\u30DE\u30F3\u30C9\u307E\u305F\u306F\u30B9\u30CB\u30DA\u30C3\u30C8ID\u306F\u5B58\u5728\u3057\u307E\u305B\u3093: {0}
jshell.err.command.ambiguous = \u30B3\u30DE\u30F3\u30C9: ''{0}''\u306F\u3042\u3044\u307E\u3044\u3067\u3059: {1}
+jshell.msg.set.restore = \u65B0\u3057\u3044\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u8A2D\u5B9A\u3068\u72B6\u614B\u306E\u5FA9\u5143\u3002
jshell.msg.set.editor.set = \u30A8\u30C7\u30A3\u30BF\u306F\u6B21\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059: {0}
jshell.msg.set.editor.retain = \u30A8\u30C7\u30A3\u30BF\u8A2D\u5B9A\u304C\u4FDD\u6301\u3055\u308C\u3066\u3044\u307E\u3059: {0}
-jshell.err.cant.launch.editor = \u30A8\u30C7\u30A3\u30BF\u3092\u8D77\u52D5\u3067\u304D\u307E\u305B\u3093 -- \u4E88\u671F\u3057\u306A\u3044\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0}
-jshell.msg.try.set.editor = \u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001/set editor\u3092\u5B9F\u884C\u3057\u3066\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+jshell.err.no.builtin.editor = \u7D44\u8FBC\u307F\u30A8\u30C7\u30A3\u30BF\u304C\u3042\u308A\u307E\u305B\u3093\u3002
+jshell.err.cant.launch.editor = \u7D44\u8FBC\u307F\u30A8\u30C7\u30A3\u30BF\u3092\u8D77\u52D5\u3067\u304D\u307E\u305B\u3093 -- \u4E88\u671F\u3057\u306A\u3044\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F: {0}
+jshell.msg.try.set.editor = \u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001''/help /set editor''\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002
jshell.msg.press.return.to.leave.edit.mode = \u300C\u623B\u308B\u300D\u3092\u62BC\u3059\u3068\u7DE8\u96C6\u30E2\u30FC\u30C9\u304C\u7D42\u4E86\u3057\u307E\u3059\u3002
jshell.err.wait.applies.to.external.editor = -wait\u306F\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u306B\u9069\u7528\u3055\u308C\u307E\u3059
+jshell.label.editpad = Shell Edit Pad
jshell.err.setting.to.retain.must.be.specified = \u4FDD\u6301\u3059\u308B\u8A2D\u5B9A\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 -- {0}
jshell.msg.set.show.mode.settings = \n\u30E2\u30FC\u30C9\u8A2D\u5B9A\u3092\u8868\u793A\u3059\u308B\u306B\u306F\u3001''/set prompt''\u3001''/set truncation'' ...\u3092\u4F7F\u7528\u3059\u308B\u304B\u3001\n''/set mode''\u306E\u5F8C\u306B\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u540D\u3092\u7D9A\u3051\u3066\u4F7F\u7528\u3057\u307E\u3059\u3002
@@ -84,7 +87,7 @@
jshell.err.help.arg = \u6307\u5B9A\u3057\u305F\u5F15\u6570\u3067\u59CB\u307E\u308B\u30B3\u30DE\u30F3\u30C9\u307E\u305F\u306F\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u306F\u3042\u308A\u307E\u305B\u3093: {0}
jshell.msg.help.begin =Java\u8A00\u8A9E\u306E\u5F0F\u3001\u6587\u307E\u305F\u306F\u5BA3\u8A00\u3092\u5165\u529B\u3057\u307E\u3059\u3002\n\u307E\u305F\u306F\u3001\u6B21\u306E\u30B3\u30DE\u30F3\u30C9\u306E\u3044\u305A\u308C\u304B\u3092\u5165\u529B\u3057\u307E\u3059:\n
-jshell.msg.help.subject =\n\u8A73\u7D30\u306F\u3001''/help''\u306E\u5F8C\u306B\u30B3\u30DE\u30F3\u30C9\u307E\u305F\u306F\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u540D\u524D\u3092\u7D9A\u3051\u3066\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u305F\u3068\u3048\u3070\u3001''/help /list''\u307E\u305F\u306F''/help intro''\u306A\u3069\u3067\u3059\u3002\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8:\n
+jshell.msg.help.subject =\n\u8A73\u7D30\u306F\u3001''/help''\u306E\u5F8C\u306B\u30B3\u30DE\u30F3\u30C9\u307E\u305F\u306F\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u540D\u524D\u3092\u7D9A\u3051\u3066\n\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u305F\u3068\u3048\u3070\u3001''/help /list''\u307E\u305F\u306F''/help intro''\u306A\u3069\u3067\u3059\u3002\u30B5\u30D6\u30B8\u30A7\u30AF\u30C8:\n
jshell.err.drop.arg =/drop\u5F15\u6570\u306B\u306F\u3001\u524A\u9664\u3059\u308B\u30A4\u30F3\u30DD\u30FC\u30C8\u3001\u5909\u6570\u3001\u30E1\u30BD\u30C3\u30C9\u307E\u305F\u306F\u30AF\u30E9\u30B9\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002\nID\u307E\u305F\u306F\u540D\u524D\u3067\u6307\u5B9A\u3057\u307E\u3059\u3002ID\u3092\u53C2\u7167\u3059\u308B\u306B\u306F/list\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u72B6\u614B\u3092\u30EA\u30BB\u30C3\u30C8\u3059\u308B\u306B\u306F/reset\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002
jshell.err.drop.ambiguous = \u5F15\u6570\u304C\u3001\u8907\u6570\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u3001\u5909\u6570\u3001\u30E1\u30BD\u30C3\u30C9\u307E\u305F\u306F\u30AF\u30E9\u30B9\u3092\u53C2\u7167\u3057\u3066\u3044\u307E\u3059\u3002
@@ -133,6 +136,11 @@
jshell.err.retained.mode.failure = \u4FDD\u6301\u3055\u308C\u305F\u30E2\u30FC\u30C9\u3067\u5931\u6557\u3057\u307E\u3057\u305F(\u30E2\u30FC\u30C9\u306F\u30AF\u30EA\u30A2\u3055\u308C\u307E\u3057\u305F) -- {0} {1}
jshell.console.see.more = <\u8A73\u7D30\u306F\u3001\u30BF\u30D6\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044>
+jshell.console.see.javadoc = <javadoc\u3092\u53C2\u7167\u3059\u308B\u306B\u306F[Shift]-[Tab]\u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3057\u307E\u3059>
+jshell.console.see.help = <\u8A73\u7D30\u30D8\u30EB\u30D7\u3092\u53C2\u7167\u3059\u308B\u306B\u306F[Shift]-[Tab]\u3092\u3082\u3046\u4E00\u5EA6\u62BC\u3057\u307E\u3059>
+jshell.console.see.next.page = <\u6B21\u306E\u30DA\u30FC\u30B8\u306B\u9032\u3080\u306B\u306F\u30B9\u30DA\u30FC\u30B9\u3092\u3001\u7D42\u4E86\u3059\u308B\u306B\u306FQ\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044>
+jshell.console.see.next.javadoc = <\u6B21\u306Ejavadoc\u306B\u9032\u3080\u306B\u306F\u30B9\u30DA\u30FC\u30B9\u3092\u3001\u7D42\u4E86\u3059\u308B\u306B\u306FQ\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044>
+jshell.console.no.javadoc = <Javadoc\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093>
jshell.console.do.nothing = \u4F55\u3082\u3057\u306A\u3044
jshell.console.choice = \u9078\u629E:
jshell.console.create.variable = \u5909\u6570\u306E\u4F5C\u6210
@@ -142,7 +150,7 @@
help.usage = \u4F7F\u7528\u65B9\u6CD5: jshell <options> <load files>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059:\n --class-path <path> \u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059\n --module-path <path> \u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3057\u307E\u3059\n --add-modules <module>(,<module>)*\n \u89E3\u6C7A\u3059\u308B\u30E2\u30B8\u30E5\u30FC\u30EB\u3001\u307E\u305F\u306F<module>\u304CALL-MODULE-PATH\n \u3067\u3042\u308B\u5834\u5408\u306F\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306E\u3059\u3079\u3066\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u6307\u5B9A\u3057\u307E\u3059\n --startup <file> \u8D77\u52D5\u5B9A\u7FA9\u306E\u4EE3\u66FF\u3068\u3057\u3066\u5B9F\u884C\u3055\u308C\u307E\u3059\n --no-startup \u8D77\u52D5\u5B9A\u7FA9\u3092\u5B9F\u884C\u3057\u307E\u305B\u3093\n --feedback <mode> \u521D\u671F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\u30E2\u30FC\u30C9\u306F\n \u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B(silent\u3001concise\u3001normal\u307E\u305F\u306Fverbose)\u304B\u3001\n \u4E8B\u524D\u306B\u30E6\u30FC\u30B6\u30FC\u304C\u5B9A\u7FA9\u3067\u304D\u307E\u3059\n -q \u7C21\u6F54\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback concise\u3068\u540C\u3058\n -s \u975E\u5E38\u306B\u7C21\u6F54\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback silent\u3068\u540C\u3058\n -v \u8A73\u7D30\u306A\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3002--feedback verbose\u3068\u540C\u3058\n -J<flag> <flag>\u3092\u5B9F\u884C\u6642\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3057\u307E\u3059\u3002\n \u5B9F\u884C\u6642\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-J\u3092\u4F7F\u7528\u3057\u307E\u3059\n -R<flag> <flag>\u3092\u30EA\u30E2\u30FC\u30C8\u5B9F\u884C\u6642\u30B7\u30B9\u30C6\u30E0\u306B\u6E21\u3057\u307E\u3059\u3002\n \u30EA\u30E2\u30FC\u30C8\u30FB\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-R\u3092\u4F7F\u7528\u3057\u307E\u3059\n -C<flag> <flag>\u3092\u30B3\u30F3\u30D1\u30A4\u30E9\u306B\u6E21\u3057\u307E\u3059\u3002\n \u30B3\u30F3\u30D1\u30A4\u30E9\u30FB\u30D5\u30E9\u30B0\u307E\u305F\u306F\u30D5\u30E9\u30B0\u5F15\u6570\u3054\u3068\u306B1\u3064\u306E-C\u3092\u4F7F\u7528\u3057\u307E\u3059\n --help \u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3057\u307E\u3059\n --version \u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831\n -X \u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u95A2\u3059\u308B\u30D8\u30EB\u30D7\u3092\u51FA\u529B\u3057\u307E\u3059\n
-help.usage.x = \ --add-exports <module>/<package> \u6307\u5B9A\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u56FA\u6709\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u30B9\u30CB\u30DA\u30C3\u30C8\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\n \n\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n
+help.usage.x = \ --add-exports <module>/<package> \u6307\u5B9A\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u56FA\u6709\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u30B9\u30CB\u30DA\u30C3\u30C8\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\n ---execution <spec> \u4EE3\u66FF\u5B9F\u884C\u30A8\u30F3\u30B8\u30F3\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002\n \u3053\u3053\u3067\u3001<spec>\u306FExecutionControl spec\u3067\u3059\u3002\n spec\u306E\u69CB\u6587\u306B\u3064\u3044\u3066\u306F\u3001\u30D1\u30C3\u30B1\u30FC\u30B8jdk.jshell.spi\u306E\n \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n \n\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n
help.list.summary = \u5165\u529B\u3057\u305F\u30BD\u30FC\u30B9\u3092\u30EA\u30B9\u30C8\u3057\u307E\u3059
help.list.args = [<name or id>|-all|-start]
@@ -185,16 +193,16 @@
help.exit =jshell\u30C4\u30FC\u30EB\u3092\u7D42\u4E86\u3057\u307E\u3059\u3002\u4F5C\u696D\u306F\u4FDD\u5B58\u3055\u308C\u307E\u305B\u3093\u3002\n\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528\u3059\u308B\u524D\u306B\u3059\u3079\u3066\u306E\u4F5C\u696D\u3092\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044
help.reset.summary = reset jshell
-help.reset.args =
-help.reset =jshell\u30C4\u30FC\u30EB\u30FB\u30B3\u30FC\u30C9\u304A\u3088\u3073\u5B9F\u884C\u72B6\u614B\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059:\n\t* \u5165\u529B\u3057\u305F\u3059\u3079\u3066\u306E\u30B3\u30FC\u30C9\u304C\u5931\u308F\u308C\u307E\u3059\u3002\n\t* \u8D77\u52D5\u30B3\u30FC\u30C9\u304C\u518D\u5B9F\u884C\u3055\u308C\u307E\u3059\u3002\n\t* \u5B9F\u884C\u72B6\u614B\u306F\u518D\u5EA6\u958B\u59CB\u3055\u308C\u307E\u3059\u3002\n\t* \u30AF\u30E9\u30B9\u30D1\u30B9\u306F\u30AF\u30EA\u30A2\u3055\u308C\u307E\u3059\u3002\n\u30C4\u30FC\u30EB\u8A2D\u5B9A\u306F\u6B21\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u3088\u3046\u306B\u4FDD\u6301\u3055\u308C\u307E\u3059: /set ...\n\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528\u3059\u308B\u524D\u306B\u3059\u3079\u3066\u306E\u4F5C\u696D\u3092\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044
+help.reset.args = [-class-path <path>] [-module-path <path>] [-add-modules <modules>]...
+help.reset =jshell\u30C4\u30FC\u30EB\u30FB\u30B3\u30FC\u30C9\u304A\u3088\u3073\u5B9F\u884C\u72B6\u614B\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059:\n\t* \u5165\u529B\u3057\u305F\u3059\u3079\u3066\u306E\u30B3\u30FC\u30C9\u304C\u5931\u308F\u308C\u307E\u3059\u3002\n\t* \u8D77\u52D5\u30B3\u30FC\u30C9\u304C\u518D\u5B9F\u884C\u3055\u308C\u307E\u3059\u3002\n\t* \u5B9F\u884C\u72B6\u614B\u306F\u518D\u5EA6\u958B\u59CB\u3055\u308C\u307E\u3059\u3002\n\t\u30C4\u30FC\u30EB\u8A2D\u5B9A\u306F\u6B21\u3067\u8A2D\u5B9A\u3055\u308C\u305F\u3088\u3046\u306B\u4FDD\u6301\u3055\u308C\u307E\u3059: /set ...\n\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u4F7F\u7528\u3059\u308B\u524D\u306B\u3059\u3079\u3066\u306E\u4F5C\u696D\u3092\u4FDD\u5B58\u3057\u3066\u304F\u3060\u3055\u3044\n/reset\u30B3\u30DE\u30F3\u30C9\u306F\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u53D7\u3051\u5165\u308C\u307E\u3059\u3002\u6B21\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044:\n\n\t/help context\n
help.reload.summary = \u30EA\u30BB\u30C3\u30C8\u3057\u3066\u95A2\u9023\u3059\u308B\u5C65\u6B74\u3092\u30EA\u30D7\u30EC\u30A4\u3057\u307E\u3059 -- \u73FE\u5728\u307E\u305F\u306F\u4EE5\u524D(-restore)
-help.reload.args = [-restore] [-quiet]
-help.reload =jshell\u30C4\u30FC\u30EB\u30FB\u30B3\u30FC\u30C9\u304A\u3088\u3073\u5B9F\u884C\u72B6\u614B\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u3001\u5404\u6709\u52B9\u30B9\u30CB\u30DA\u30C3\u30C8\n\u304A\u3088\u3073\u4EFB\u610F\u306E/drop\u307E\u305F\u306F/classpath\u30B3\u30DE\u30F3\u30C9\u3092\u5165\u529B\u3055\u308C\u305F\u9806\u756A\u3067\u30EA\u30D7\u30EC\u30A4\u3057\u307E\u3059\u3002\n\n/reload\n\t\u30EA\u30BB\u30C3\u30C8\u3055\u308C\u3001jshell\u304C\u5165\u529B\u3055\u308C\u305F\u3001\u3042\u308B\u3044\u306F/reset\u307E\u305F\u306F\n\t/reload\u30B3\u30DE\u30F3\u30C9\u304C\u5B9F\u884C\u3055\u308C\u305F(\u6700\u65B0\u306E\u3044\u305A\u308C\u304B)\u4EE5\u964D\u306E\u6709\u52B9\u306A\u5C65\u6B74\u304C\n\t\u30EA\u30D7\u30EC\u30A4\u3055\u308C\u307E\u3059\u3002\n\n/reload -restore\n\t\u30EA\u30BB\u30C3\u30C8\u3055\u308C\u3001jshell\u304C\u5165\u529B\u3055\u308C\u305F\u3001\u3042\u308B\u3044\u306F/reset\u307E\u305F\u306F/reload\u30B3\u30DE\u30F3\u30C9\u304C\n\t\u5B9F\u884C\u3055\u308C\u305F\u4EE5\u524D\u3068\u6700\u65B0\u306E\u6642\u9593\u306E\u9593\u306E\u6709\u52B9\u306A\u5C65\u6B74\u304C\u30EA\u30D7\u30EC\u30A4\u3055\u308C\u307E\u3059\u3002\n\t\u305D\u306E\u305F\u3081\u3001\u3053\u308C\u306F\u4EE5\u524D\u306Ejshell\u30C4\u30FC\u30EB\u30FB\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u5FA9\u5143\u306B\n\t\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n\n/reload [-restore] -quiet\n\t'-quiet'\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u30EA\u30D7\u30EC\u30A4\u304C\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\u30A8\u30E9\u30FC\u306F\u8868\u793A\u3055\u308C\u307E\u3059\u3002
+help.reload.args = [-restore] [-quiet] [-class-path <path>] [-module-path <path>]...
+help.reload =jshell\u30C4\u30FC\u30EB\u30FB\u30B3\u30FC\u30C9\u304A\u3088\u3073\u5B9F\u884C\u72B6\u614B\u3092\u30EA\u30BB\u30C3\u30C8\u3057\u3001\u5404\u6709\u52B9\u30B9\u30CB\u30DA\u30C3\u30C8\n\u304A\u3088\u3073\u4EFB\u610F\u306E/drop\u30B3\u30DE\u30F3\u30C9\u3092\u5165\u529B\u3055\u308C\u305F\u9806\u756A\u3067\u30EA\u30D7\u30EC\u30A4\u3057\u307E\u3059\u3002\n\n/reload\n\t\u30EA\u30BB\u30C3\u30C8\u3055\u308C\u3001jshell\u304C\u5165\u529B\u3055\u308C\u305F\u3001\u3042\u308B\u3044\u306F/reset\u307E\u305F\u306F\n\t/reload\u30B3\u30DE\u30F3\u30C9\u304C\u5B9F\u884C\u3055\u308C\u305F(\u6700\u65B0\u306E\u3044\u305A\u308C\u304B)\u4EE5\u964D\u306E\u6709\u52B9\u306A\u5C65\u6B74\u304C\n\t\u30EA\u30D7\u30EC\u30A4\u3055\u308C\u307E\u3059\u3002\n\n/reload -restore\n\t\u30EA\u30BB\u30C3\u30C8\u3055\u308C\u3001jshell\u304C\u5165\u529B\u3055\u308C\u305F\u3001\u3042\u308B\u3044\u306F/reset\u307E\u305F\u306F/reload\u30B3\u30DE\u30F3\u30C9\u304C\n\t\u5B9F\u884C\u3055\u308C\u305F\u4EE5\u524D\u3068\u6700\u65B0\u306E\u6642\u9593\u306E\u9593\u306E\u6709\u52B9\u306A\u5C65\u6B74\u304C\u30EA\u30D7\u30EC\u30A4\u3055\u308C\u307E\u3059\u3002\n\t\u305D\u306E\u305F\u3081\u3001\u3053\u308C\u306F\u4EE5\u524D\u306Ejshell\u30C4\u30FC\u30EB\u30FB\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u5FA9\u5143\u306B\n\t\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n\n/reload [-restore] -quiet\n\t'-quiet'\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u30EA\u30D7\u30EC\u30A4\u304C\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\u30A8\u30E9\u30FC\u306F\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\n\u4E0A\u306E\u5404\u3005\u306F\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u53D7\u3051\u5165\u308C\u307E\u3059\u3002\u6B21\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044:\n\n\t/help context\n\n\u4F8B:\n\n\t/reload -add-modules com.greetings -restore
-help.classpath.summary = \u30AF\u30E9\u30B9\u30D1\u30B9\u306B\u30D1\u30B9\u3092\u8FFD\u52A0\u3057\u307E\u3059
-help.classpath.args = <path>
-help.classpath =\u30AF\u30E9\u30B9\u30D1\u30B9\u306B\u30D1\u30B9\u3092\u8FFD\u52A0\u3057\u307E\u3059\u3002
+help.env.summary = \u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059
+help.env.args = [-class-path <path>] [-module-path <path>] [-add-modules <modules>] ...
+help.env =\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8868\u793A\u307E\u305F\u306F\u5909\u66F4\u3057\u307E\u3059\u3002\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306F\u3001\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u3001\n\u30E2\u30B8\u30E5\u30FC\u30EB\u30FB\u30D1\u30B9\u306A\u3069\u3067\u3059\u3002\n/env\n\t\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u3068\u3057\u3066\u8868\u793A\u3055\u308C\u3066\u3044\u308B\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u793A\u3057\u307E\u3059\u3002\n\n/env [-class-path <path>] [-module-path <path>] [-add-modules <modules>] ...\n\t1\u3064\u4EE5\u4E0A\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u306B\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002\n\t\u30B9\u30CB\u30DA\u30C3\u30C8\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u5B9F\u884C\u72B6\u614B\u306F\u65B0\u3057\u3044\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306B\u30EA\u30BB\u30C3\u30C8\u3055\u308C\u3001\n\t\u30B9\u30CB\u30DA\u30C3\u30C8\u304C\u30EA\u30D7\u30EC\u30A4\u3055\u308C\u307E\u3059\u3002\u305F\u3060\u3057\u30EA\u30D7\u30EC\u30A4\u306F\u8868\u793A\u3055\u308C\u305A\u3001\n\t\u30A8\u30E9\u30FC\u306F\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u3053\u308C\u306F\u6B21\u3068\u540C\u3058\u3067\u3059: /reload -quiet\n\t\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u8A73\u7D30\u306F\u3001\u6B21\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044:\n\n\t\t/help context\n\n\t\u4F8B:\n\n\t\t/env -add-modules com.greetings
help.history.summary = \u5165\u529B\u3057\u305F\u5185\u5BB9\u306E\u5C65\u6B74
help.history.args =
@@ -234,6 +242,8 @@
help.shortcuts.summary = \u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8\u306E\u8AAC\u660E
help.shortcuts =\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n\n<tab>\n\t\tJava\u8B58\u5225\u5B50\u3001jshell\u30B3\u30DE\u30F3\u30C9\u3001\u5834\u5408\u306B\u3088\u3063\u3066\u306F\n\t\tjshell\u30B3\u30DE\u30F3\u30C9\u5F15\u6570\u306E\u6700\u521D\u306E\u6570\u6587\u5B57\u3092\u5165\u529B\u3057\u305F\u5F8C\u306B\u3001\n\t\t<tab>\u30AD\u30FC\u3092\u62BC\u3059\u3068\u3001\u5165\u529B\u304C\u5B8C\u6210\u3057\u307E\u3059\u3002\n\t\t\u5B8C\u6210\u7D50\u679C\u304C\u8907\u6570\u3042\u308B\u5834\u5408\u3001\u4F7F\u7528\u53EF\u80FD\u306A\u5B8C\u6210\u7D50\u679C\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\nShift-<tab>\n\t\t\u30E1\u30BD\u30C3\u30C9\u307E\u305F\u306F\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u547C\u51FA\u3057\u306E\u540D\u524D\u3068\u5DE6\u4E38\u30AB\u30C3\u30B3\u306E\u5F8C\u306B\n\t\t<shift>\u30AD\u30FC\u3092\u62BC\u3057\u306A\u304C\u3089<tab>\u3092\u62BC\u3059\u3068\u3001\u4E00\u81F4\u3059\u308B\u3059\u3079\u3066\u306E\u30E1\u30BD\u30C3\u30C9/\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\n\t\t\u30B7\u30CE\u30D7\u30B7\u30B9\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\n<fix-shortcut> v\n\t\t\u5B8C\u5168\u306A\u5F0F\u306E\u5F8C\u306B\u3001\u300C<fix-shortcut> v\u300D\u3092\u62BC\u3059\u3068\u3001\u5F0F\u306E\u30BF\u30A4\u30D7\u306B\u57FA\u3065\u3044\u305F\u30BF\u30A4\u30D7\u306E\n\t\t\u65B0\u3057\u3044\u5909\u6570\u304C\u5C0E\u5165\u3055\u308C\u307E\u3059\u3002\n\t\t\u300C<fix-shortcut>\u300D\u306F[Alt]+[F1]\u307E\u305F\u306F[Alt]+[Enter]\u3067\u3001\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u306B\u3088\u3063\u3066\u7570\u306A\u308A\u307E\u3059\u3002\n\n<fix-shortcut> i\n\t\t\u89E3\u6C7A\u3067\u304D\u306A\u3044\u8B58\u5225\u5B50\u306E\u5F8C\u306B\u3001\u300C<fix-shortcut> i\u300D\u3092\u62BC\u3059\u3068\u3001jshell\u306F\u6307\u5B9A\u3057\u305F\n\t\t\u30AF\u30E9\u30B9\u30D1\u30B9\u306E\u5185\u5BB9\u306B\u57FA\u3065\u3044\u3066\u4F7F\u7528\u53EF\u80FD\u306A\u5B8C\u5168\u4FEE\u98FE\u3055\u308C\u305F\u540D\u524D\u3092\u63D0\u793A\u3057\u307E\u3059\u3002\n\t\t\u300C<fix-shortcut>\u300D\u306F[Alt]+[F1]\u307E\u305F\u306F[Alt]+[Enter]\u3067\u3001\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u306B\u3088\u3063\u3066\u7570\u306A\u308A\u307E\u3059\u3002
+help.context.summary = /env /reload\u304A\u3088\u3073/reset\u306E\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30FB\u30AA\u30D7\u30B7\u30E7\u30F3
+help.context =\u8A55\u4FA1\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3092\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u69CB\u6210\u3057\u307E\u3059\u3002\u3053\u308C\u3089\u306F\u3001jshell\u8D77\u52D5\u6642\u306B\n\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u3001\u307E\u305F\u306F\u30B3\u30DE\u30F3\u30C9/env\u3001/reload\u307E\u305F\u306F/reset\u3067\u518D\u8D77\u52D5\u3059\u308B\n\u3053\u3068\u306B\u3088\u308A\u6307\u5B9A\u3067\u304D\u307E\u3059\u3002\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u6B21\u306E\u3068\u304A\u308A\u3067\u3059:\n\t--class-path <class search path of directories and zip/jar files>\n\t\t\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3001\n\t\tJAR\u30A2\u30FC\u30AB\u30A4\u30D6\u3001ZIP\u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u30EA\u30B9\u30C8\u3002\n\t\t\u30EA\u30B9\u30C8\u306F\u30D1\u30B9\u533A\u5207\u308A\u6587\u5B57\u3067\u533A\u5207\u308A\u307E\u3059\n\t\t(UNIX/Linux/Mac\u3067\u306F\u300C:\u300D\u3001Windows\u3067\u306F\u300C;\u300D)\u3002\n\t--module-path <module path>...\n\t\t\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u30EA\u30B9\u30C8\u3002\u5404\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\n\t\t\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u3059\u3002\n\t\t\u30EA\u30B9\u30C8\u306F\u30D1\u30B9\u533A\u5207\u308A\u6587\u5B57\u3067\u533A\u5207\u308A\u307E\u3059\n\t\t(UNIX/Linux/Mac\u3067\u306F\u300C:\u300D\u3001Windows\u3067\u306F\u300C;\u300D)\u3002\n\t--add-modules <modulename>[,<modulename>...]\n\t\t\u521D\u671F\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\u52A0\u3048\u3066\u89E3\u6C7A\u3059\u308B\u30EB\u30FC\u30C8\u30FB\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n\t\t<modulename>\u306B\u306F\u3001ALL-DEFAULT\u3001ALL-SYSTEM\u3001\n\t\tALL-MODULE-PATH\u3082\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002\n\t--add-exports <module>/<package>=<target-module>(,<target-module>)*\n\t\t\u30E2\u30B8\u30E5\u30FC\u30EB\u5BA3\u8A00\u306B\u95A2\u4FC2\u306A\u304F\u3001<module>\u3092\u66F4\u65B0\u3057\u3066\n\t\t<package>\u3092<target-module>\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\n\t\t<target-module>\u3092ALL-UNNAMED\u306B\u8A2D\u5B9A\u3059\u308B\u3068\u3001\u3059\u3079\u3066\u306E\u540D\u524D\u306E\u306A\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u306B\n\t\t\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002jshell\u3067\u306F\u3001<target-module>\u3092\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408(\u300C=\u300D\u306A\u3057)\u3001\n\t\tALL-UNNAMED\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\n\n\u30B3\u30DE\u30F3\u30C9\u30E9\u30A4\u30F3\u3067\u306F\u3001\u3053\u308C\u3089\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F2\u3064\u306E\u30C0\u30C3\u30B7\u30E5\u304C\u5FC5\u8981\u3067\u3059\u3002\u4F8B: --module-path\njshell\u30B3\u30DE\u30F3\u30C9\u3067\u306F\u3001\u30C0\u30C3\u30B7\u30E5\u306F1\u3064\u3067\u30822\u3064\u3067\u3082\u304B\u307E\u3044\u307E\u305B\u3093\u3002\u4F8B: -module-path\n
help.set._retain = '-retain'\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3088\u308A\u3001\u5C06\u6765\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u3067\u4F7F\u7528\u3059\u308B\u305F\u3081\u306B\u8A2D\u5B9A\u3092\u4FDD\u5B58\u3057\u307E\u3059\u3002\n-retain\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3001/set\u306E\u6B21\u306E\u5F62\u5F0F\u3067\u4F7F\u7528\u3067\u304D\u307E\u3059:\n\n\t/set editor -retain\n\t/set start -retain\n\t/set feedback -retain\n\t/set mode -retain\n\n\u8A73\u7D30\u306F\u3001\u3053\u308C\u3089\u306E\u30B3\u30DE\u30F3\u30C9\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044 -- \u4F8B: /help /set editor
help.set.format = \u30B9\u30CB\u30DA\u30C3\u30C8\u30FB\u30A4\u30D9\u30F3\u30C8\u3092\u30EC\u30DD\u30FC\u30C8\u3059\u308B\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059:\n\n\t/set format <mode> <field> "<format>" <selector>...\n\n\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u307E\u3059:\n\n\t/set format [<mode> [<field>]]\n\n<mode>\u306F\u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u306E\u540D\u524D\u3067\u3059 -- '/help /set mode'\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n<field>\u306F\u5B9A\u7FA9\u3059\u308B\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u56FA\u6709\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u306E\u540D\u524D\u3067\u3059\u3002\n<format>\u306F\u5F15\u7528\u7B26\u306B\u56F2\u307E\u308C\u305F\u6587\u5B57\u5217\u3067\u3001\u6B21\u306E\u5834\u5408\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5024\u3067\u3059: \n\u30BB\u30EC\u30AF\u30BF\u304C\u4E00\u81F4\u3059\u308B(\u307E\u305F\u306F\u30BB\u30EC\u30AF\u30BF\u304C\u306A\u3044)\u3002\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u304C\u4F7F\u7528\u3055\u308C\u308B\u5834\u5408\u3001\n\u4E2D\u30AB\u30C3\u30B3\u3067\u56F2\u307E\u308C\u3066\u3044\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u304C\u305D\u306E\u3068\u304D\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5024\u3067\u7F6E\u63DB\u3055\u308C\u307E\u3059\n\u3053\u308C\u3089\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u3001\u3053\u306E\u30B3\u30DE\u30F3\u30C9\u3067\u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3082\u3001\n\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u306B\u56FA\u6709\u306E\u3053\u308C\u3089\u306E\u4E8B\u524D\u5B9A\u7FA9\u6E08\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u3044\u305A\u308C\u304B\u3067\u3042\u308B\u5834\u5408\u3082\u3042\u308A\u307E\u3059:\n\t{name} == \u540D\u524D\u3001\u4F8B: \u5909\u6570\u540D\u3001 ...\n\t{type} == \u30BF\u30A4\u30D7\u540D\u3002\u5909\u6570\u307E\u305F\u306F\u5F0F\u306E\u30BF\u30A4\u30D7\u3001\n\t\t\t\u30E1\u30BD\u30C3\u30C9\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u30FB\u30BF\u30A4\u30D7\n\t{value} == \u5F0F\u307E\u305F\u306F\u5909\u6570\u306E\u521D\u671F\u5316\u306E\u7D50\u679C\u5024\n\t{unresolved} == \u672A\u89E3\u6C7A\u306E\u53C2\u7167\u306E\u30EA\u30B9\u30C8\n\t{errors} == \u30EA\u30AB\u30D0\u30EA\u53EF\u80FD\u306A\u30A8\u30E9\u30FC\u306E\u30EA\u30B9\u30C8(\u51E6\u7406\u6642-\n\t\t\t"display"\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u307F)\n\t{err} == \u672A\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u30FB\u30A8\u30E9\u30FC\u884C(\u51E6\u7406\u6642-\n\t\t\t"errorline"\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u307F)\n\u6B21\u306E\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u30C4\u30FC\u30EB\u306B\u3088\u3063\u3066\u30A2\u30AF\u30BB\u30B9\u3055\u308C\u3001\u8868\u793A\u3055\u308C\u308B\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u6C7A\u5B9A\u3057\u307E\u3059:\n\t{display} == \u30B9\u30CB\u30DA\u30C3\u30C8\u30FB\u30A4\u30D9\u30F3\u30C8\u306B\u5BFE\u3057\u3066\u8868\u793A\u3055\u308C\u308B\u30E1\u30C3\u30BB\u30FC\u30B8\n\t{errorline} == \u300Cerrors\u300D\u30D5\u30A3\u30FC\u30EB\u30C9\u5185\u306E\u30A8\u30E9\u30FC\u884C\u306E\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\n\t{pre} == \u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u63A5\u982D\u8F9E(\u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u958B\u59CB\u3059\u308B)\n\t{post} == \u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u63A5\u5C3E\u8F9E(\u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u7D42\u4E86\u3059\u308B)\n\t{errorpre} == \u30A8\u30E9\u30FC\u63A5\u982D\u8F9E(\u30A8\u30E9\u30FC\u30FB\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u958B\u59CB\u3059\u308B)\n\t{errorpost} == \
@@ -247,7 +257,7 @@
help.set.mode = \u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002\u5FC5\u8981\u306B\u5FDC\u3058\u3066\u65E2\u5B58\u306E\u30E2\u30FC\u30C9\u304B\u3089\u30B3\u30D4\u30FC\u3057\u307E\u3059:\n\n\t/set mode <mode> [<old-mode>] [-command|-quiet|-delete]\n\u5C06\u6765\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u305F\u3081\u306B\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u3092\u4FDD\u6301\u3057\u307E\u3059:\n\n\t/set mode -retain <mode>\n\n\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u3092\u524A\u9664\u3057\u307E\u3059:\n\n\t/set mode -delete [-retain] <mode>\n\n\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u307E\u3059:\n\n\t/set mode [<mode>]\n\n<new-mode>\u306F\u4F5C\u6210\u3059\u308B\u30E2\u30FC\u30C9\u306E\u540D\u524D\u3067\u3059\u3002\n<old-mode>\u306F\u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u306E\u540D\u524D\u3067\u3059\u3002\n<old-mode>\u304C\u3042\u308B\u5834\u5408\u3001\u305D\u306E\u8A2D\u5B9A\u304C\u65B0\u898F\u30E2\u30FC\u30C9\u306B\u30B3\u30D4\u30FC\u3055\u308C\u307E\u3059\u3002\n'-command'\u307E\u305F\u306F'-quiet'\u306B\u3088\u308A\u3001\u60C5\u5831/\u691C\u8A3C\u4E2D\u306E\u30B3\u30DE\u30F3\u30C9\u30FB\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3092\u8868\u793A\u3059\u308B\u304B\u3069\u3046\u304B\u304C\u6C7A\u5B9A\u3057\u307E\u3059\u3002\n\n\u65B0\u898F\u30E2\u30FC\u30C9\u3092\u4F5C\u6210\u3057\u305F\u3089\u3001'/set format'\u3001'/set prompt'\u304A\u3088\u3073'/set truncation'\u3092\u4F7F\u7528\u3057\u3066\n\u69CB\u6210\u3057\u307E\u3059\u3002\u65B0\u898F\u30E2\u30FC\u30C9\u3092\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001'/set feedback'\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002\n\n-retain\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30E2\u30FC\u30C9(\u305D\u306E\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u3001\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u304A\u3088\u3073\u5207\u6368\u3066\u8A2D\u5B9A\u3092\u542B\u3080)\u306F\u3001\njshell\u30C4\u30FC\u30EB\u306E\u3053\u306E\u5B9F\u884C\u3068\u5C06\u6765\u306E\u5B9F\u884C\u3067\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\n-retain\u3068-delete\u306E\u4E21\u65B9\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u30E2\u30FC\u30C9\u306F\u73FE\u5728\u304A\u3088\u3073\u5C06\u6765\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u304B\u3089\n\u524A\u9664\u3055\u308C\u307E\u3059\u3002\n\n\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u306A\u3044\u5F62\u5F0F\u306F\u3001\u30E2\u30FC\u30C9\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n<mode>\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u305D\u306E\u30E2\u30FC\u30C9\u306E\u30E2\u30FC\u30C9\u8A2D\u5B9A\u306E\u307F\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\u6CE8\u610F: \u30E2\u30FC\u30C9\u306E\u8A2D\u5B9A\u306B\u306F\u3001\u30D7\u30ED\u30F3\u30D7\u30C8\u3001\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u304A\u3088\u3073\u5207\u6368\u3066\u306E\u8A2D\u5B9A\u304C\u542B\u307E\u308C\u308B\u305F\u3081\u3001\n\u3053\u308C\u3089\u3082\u540C\u69D8\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\u4F8B:\n\t/set mode myformat\n\u30E2\u30FC\u30C9myformat\u306E\u30E2\u30FC\u30C9\u3001\u30D7\u30ED\u30F3\u30D7\u30C8\u3001\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u304A\u3088\u3073\u5207\u6368\u3066\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u307E\u3059\n
-help.set.prompt = \u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002\u6A19\u6E96\u30D7\u30ED\u30F3\u30D7\u30C8\u3068\u7D9A\u884C\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u4E21\u65B9\u3092\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059:\n\n\t/set prompt <mode> "<prompt>" "<continuation-prompt>"\n\n\u6A19\u6E96\u30D7\u30ED\u30F3\u30D7\u30C8\u3068\u7D9A\u884C\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u3057\u307E\u3059:\n\n\t/set prompt [<mode>]\n\n<mode>\u306F\u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u306E\u540D\u524D\u3067\u3059\u3002\n<prompt>\u304A\u3088\u3073<continuation-prompt>\u306F\u5165\u529B\u30D7\u30ED\u30F3\u30D7\u30C8\u3068\u3057\u3066\u51FA\u529B\u3055\u308C\u308B\u5F15\u7528\u7B26\u3067\u56F2\u307E\u308C\u305F\u6587\u5B57\u5217\u3067\u3059\u3002\n\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3001\u4E21\u65B9\u3068\u3082\u3001\u6B21\u306E\u30B9\u30CB\u30DA\u30C3\u30C8ID\u3067\u7F6E\u304D\u63DB\u3048\u3089\u308C\u308B'%s'\u3092\u542B\u3080\u3053\u3068\u304C\u3067\u304D\u307E\u3059 --\n\u5165\u529B\u3057\u305F\u5185\u5BB9\u304C\u305D\u306EID\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u306A\u3044\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001\u30A8\u30E9\u30FC\u307E\u305F\u306F\u30B3\u30DE\u30F3\u30C9\u3067\u3042\u308B\u5834\u5408\u306A\u3069\u3067\u3059\u3002\n\u7D9A\u884C\u30D7\u30ED\u30F3\u30D7\u30C8\u306F\u8907\u6570\u884C\u30B9\u30CB\u30DA\u30C3\u30C8\u306E2\u884C\u76EE\u4EE5\u964D\u3067\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\n\n<prompt>\u306E\u306A\u3044\u5F62\u5F0F\u306F\u3001\u73FE\u5728\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n<mode>\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u305D\u306E\u30E2\u30FC\u30C9\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u307F\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\u4F8B:\n\t/set prompt myformat\n\u30E2\u30FC\u30C9myformat\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\n
+help.set.prompt = \u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8A2D\u5B9A\u3057\u307E\u3059\u3002\u6A19\u6E96\u30D7\u30ED\u30F3\u30D7\u30C8\u3068\u7D9A\u884C\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u4E21\u65B9\u3092\u8A2D\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059:\n\n\t/set prompt <mode> "<prompt>" "<continuation-prompt>"\n\n\u6A19\u6E96\u30D7\u30ED\u30F3\u30D7\u30C8\u3068\u7D9A\u884C\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u3057\u307E\u3059:\n\n\t/set prompt [<mode>]\n\n<mode>\u306F\u4E8B\u524D\u306B\u5B9A\u7FA9\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u30FB\u30E2\u30FC\u30C9\u306E\u540D\u524D\u3067\u3059\u3002\n<prompt>\u304A\u3088\u3073<continuation-prompt>\u306F\u5165\u529B\u30D7\u30ED\u30F3\u30D7\u30C8\u3068\u3057\u3066\u51FA\u529B\u3055\u308C\u308B\u5F15\u7528\u7B26\u3067\u56F2\u307E\u308C\u305F\u6587\u5B57\u5217\u3067\u3059\u3002\n\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3001\u4E21\u65B9\u3068\u3082\u3001\u6B21\u306E\u30B9\u30CB\u30DA\u30C3\u30C8ID\u3067\u7F6E\u304D\u63DB\u3048\u3089\u308C\u308B'%%s'\u3092\u542B\u3080\u3053\u3068\u304C\u3067\u304D\u307E\u3059 --\n\u5165\u529B\u3057\u305F\u5185\u5BB9\u304C\u305D\u306EID\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u306A\u3044\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001\u30A8\u30E9\u30FC\u307E\u305F\u306F\u30B3\u30DE\u30F3\u30C9\u3067\u3042\u308B\u5834\u5408\u306A\u3069\u3067\u3059\u3002\n\u7D9A\u884C\u30D7\u30ED\u30F3\u30D7\u30C8\u306F\u8907\u6570\u884C\u30B9\u30CB\u30DA\u30C3\u30C8\u306E2\u884C\u76EE\u4EE5\u964D\u3067\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\n\n<prompt>\u306E\u306A\u3044\u5F62\u5F0F\u306F\u3001\u73FE\u5728\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n<mode>\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u305D\u306E\u30E2\u30FC\u30C9\u306E\u30D7\u30ED\u30F3\u30D7\u30C8\u306E\u307F\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\n\u4F8B:\n\t/set prompt myformat\n\u30E2\u30FC\u30C9myformat\u306B\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u30D7\u30ED\u30F3\u30D7\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\n
help.set.editor =/edit\u30B3\u30DE\u30F3\u30C9\u3067\u8D77\u52D5\u3059\u308B\u30B3\u30DE\u30F3\u30C9\u3092\u6307\u5B9A\u3057\u307E\u3059:\n\n\t/set editor [-retain] [-wait] <command>\n\n\t/set editor [-retain] -default\n\n\t/set editor [-retain] -delete\n\n\u5C06\u6765\u306E\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u305F\u3081\u306B\u73FE\u5728\u306E\u30A8\u30C7\u30A3\u30BF\u8A2D\u5B9A\u3092\u4FDD\u6301\u3057\u307E\u3059:\n\n\t/set editor -retain\n\n/edit\u30B3\u30DE\u30F3\u30C9\u3067\u8D77\u52D5\u3059\u308B\u30B3\u30DE\u30F3\u30C9\u3092\u8868\u793A\u3057\u307E\u3059:\n\n\t/set editor\n\n<command>\u306F\u30AA\u30DA\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u30FB\u30B7\u30B9\u30C6\u30E0\u4F9D\u5B58\u6587\u5B57\u5217\u3067\u3059\u3002\n<command>\u306B\u306F\u30B9\u30DA\u30FC\u30B9\u3067\u533A\u5207\u3089\u308C\u305F\u5F15\u6570(\u30D5\u30E9\u30B0\u306A\u3069)\u304C\u542B\u307E\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\n\n-default\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u7D44\u8FBC\u307F\u30A8\u30C7\u30A3\u30BF\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\n\n-delete\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3059\u308B\u3068\u3001\u4EE5\u524D\u306E\u8A2D\u5B9A\u306F\u7121\u8996\u3055\u308C\u307E\u3059 -- \u30A8\u30C7\u30A3\u30BF\n\u8A2D\u5B9A\u306F\u3001jshell\u30C4\u30FC\u30EB\u306E\u8D77\u52D5\u6642\u306B\u521D\u671F\u5316\u3055\u308C\u307E\u3059\u3002\u5177\u4F53\u7684\u306B\u306F\u3001\u4FDD\u6301\u3055\u308C\u305F\u8A2D\u5B9A\u304C\n\u5B58\u5728\u3059\u308B\u5834\u5408\u3001(\u4FDD\u6301\u3055\u308C\u305F\u8A2D\u5B9A\u3092\u524A\u9664\u3059\u308B-retain\u3068-delete\u306E\u4E21\u65B9\u304C\u6307\u5B9A\u3055\u308C\u3066\n\u3044\u306A\u3051\u308C\u3070)\u305D\u308C\u304C\u4F7F\u7528\u3055\u308C\u3001\u6B21\u306E\u74B0\u5883\u5909\u6570\u306E\u3044\u305A\u308C\u304B\u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\n\u305D\u308C\u304C(\u305D\u306E\u9806\u5E8F\u3067)\u4F7F\u7528\u3055\u308C\u307E\u3059: JSHELLEDITOR\u3001VISUAL\u307E\u305F\u306FEDITOR\u3002\n\u305D\u308C\u4EE5\u5916\u306E\u5834\u5408\u3001\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u7D44\u8FBC\u307F\u30A8\u30C7\u30A3\u30BF\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\n\n<command>\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u305D\u308C\u304C\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u3068\u3057\u3066\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002<command>\u306F\u3001\n\u30D7\u30ED\u30B0\u30E9\u30E0\u3068\u30BC\u30ED\u500B\u4EE5\u4E0A\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u5F15\u6570\u3067\u69CB\u6210\u3055\u308C\u307E\u3059\u3002<command>\u304C\u4F7F\u7528\u3055\u308C\u308B\u5834\u5408\u3001\n\u7DE8\u96C6\u5BFE\u8C61\u306E\u4E00\u6642\u30D5\u30A1\u30A4\u30EB\u304C\u6700\u5F8C\u306E\u5F15\u6570\u3068\u3057\u3066\u8FFD\u52A0\u3055\u308C\u307E\u3059\u3002\n\u901A\u5E38\u3001\u7DE8\u96C6\u30E2\u30FC\u30C9\u306F\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u304C\u7D42\u4E86\u3059\u308B\u307E\u3067\u7D99\u7D9A\u3057\u307E\u3059\u3002\u4E00\u90E8\u306E\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u306F\u3001\n\u305F\u3068\u3048\u3070\u7DE8\u96C6\u30A6\u30A3\u30F3\u30C9\u30A6\u304C\u7D42\u4E86\u3059\u308B\u3068\u5373\u5EA7\u306B\u7D42\u4E86\u3059\u308B\u305F\u3081\u3001\u5916\u90E8\u30A8\u30C7\u30A3\u30BF\u30FB\u30D5\u30E9\u30B0\u3092\u4F7F\u7528\u3057\u3066\n\u5373\u6642\u306E\u7D42\u4E86\u3092\u56DE\u907F\u3059\u308B\u304B\u3001-wait\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u3066\u3001\u7DE8\u96C6\u30E2\u30FC\u30C9\u304C\u7D42\u4E86\u3059\u308B\u30BF\u30A4\u30DF\u30F3\u30B0\u3092\n\u6307\u5B9A\u3059\u308B\u3088\u3046\u30E6\u30FC\u30B6\u30FC\u306B\u8981\u6C42\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n\n\u6CE8\u610F: \
\u7DE8\u96C6\u30E2\u30FC\u30C9\u4E2D\u3001\u30B3\u30DE\u30F3\u30C9\u5165\u529B\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\u7DE8\u96C6\u30E2\u30FC\u30C9\u306E\u7D42\u4E86\u5F8C\u3001\u7DE8\u96C6\u3055\u308C\u305F\n\u30B9\u30CB\u30DA\u30C3\u30C8\u306E\u5909\u66F4\u5185\u5BB9\u306F\u8868\u793A\u3055\u308C\u307E\u305B\u3093\u3002\n\n-retain\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u8A2D\u5B9A\u306Fjshell\u30C4\u30FC\u30EB\u306E\u3053\u306E\u5B9F\u884C\u3068\u5C06\u6765\u306E\n\u5B9F\u884C\u3067\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002\n\n<command>\u307E\u305F\u306F\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u306A\u3044\u5F62\u5F0F\u306F\u3001\u30A8\u30C7\u30A3\u30BF\u8A2D\u5B9A\u3092\u8868\u793A\u3057\u307E\u3059\u3002\n
--- a/langtools/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Thu Feb 23 17:30:09 2017 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2016, 2017, 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
@@ -23,11 +23,11 @@
# questions.
#
-jshell.msg.welcome =\u6B22\u8FCE\u4F7F\u7528 JShell -- \u7248\u672C {0}\n\u8981\u5927\u81F4\u4E86\u89E3\u8BE5\u7248\u672C, \u8BF7\u952E\u5165: /help intro\n
+jshell.msg.welcome =\u6B22\u8FCE\u4F7F\u7528 JShell -- \u7248\u672C {0}\n\u8981\u5927\u81F4\u4E86\u89E3\u8BE5\u7248\u672C, \u8BF7\u952E\u5165: /help intro
jshell.err.opt.arg = \u7F3A\u5C11 {0} \u7684\u53C2\u6570\u3002
jshell.err.opt.invalid = \u65E0\u6548\u7684\u9009\u9879: {0}\u3002
jshell.err.opt.one = \u53EA\u80FD\u4F7F\u7528\u4E00\u4E2A {0} \u9009\u9879\u3002
-jshell.err.opt.startup.one = \u53EA\u80FD\u4F7F\u7528\u4E00\u4E2A --startup \u6216 --no-startup \u9009\u9879\u3002
+jshell.err.opt.startup.conflict = \u51B2\u7A81\u7684\u9009\u9879: \u540C\u65F6\u4F7F\u7528\u4E86 --startup \u548C --no-startup\u3002
jshell.err.opt.feedback.one = \u53EA\u80FD\u4F7F\u7528\u4E00\u4E2A\u53CD\u9988\u9009\u9879 (--feedback, -q, -s \u6216 -v)\u3002
jshell.err.opt.unknown = \u672A\u77E5\u9009\u9879: {0}
@@ -48,12 +48,15 @@
jshell.err.no.such.command.or.snippet.id = \u6CA1\u6709\u8FD9\u6837\u7684\u547D\u4EE4\u6216\u7247\u6BB5 id: {0}
jshell.err.command.ambiguous = \u547D\u4EE4 ''{0}'' \u4E0D\u660E\u786E: {1}
+jshell.msg.set.restore = \u6B63\u5728\u8BBE\u7F6E\u65B0\u9009\u9879\u5E76\u8FD8\u539F\u72B6\u6001\u3002
jshell.msg.set.editor.set = \u7F16\u8F91\u5668\u8BBE\u7F6E\u4E3A: {0}
jshell.msg.set.editor.retain = \u4FDD\u7559\u7684\u7F16\u8F91\u5668\u8BBE\u7F6E: {0}
-jshell.err.cant.launch.editor = \u65E0\u6CD5\u542F\u52A8\u7F16\u8F91\u5668 -- \u610F\u5916\u7684\u5F02\u5E38\u9519\u8BEF: {0}
-jshell.msg.try.set.editor = \u8BF7\u5C1D\u8BD5\u901A\u8FC7 /set editor \u6765\u4F7F\u7528\u5916\u90E8\u7F16\u8F91\u5668\u3002
+jshell.err.no.builtin.editor = \u5185\u7F6E\u7F16\u8F91\u5668\u4E0D\u53EF\u7528\u3002
+jshell.err.cant.launch.editor = \u65E0\u6CD5\u542F\u52A8\u5185\u7F6E\u7F16\u8F91\u5668 -- \u610F\u5916\u7684\u5F02\u5E38\u9519\u8BEF: {0}
+jshell.msg.try.set.editor = \u8BF7\u53C2\u9605 ''/help /set editor'' \u6765\u4E86\u89E3\u5982\u4F55\u4F7F\u7528\u5916\u90E8\u7F16\u8F91\u5668\u3002
jshell.msg.press.return.to.leave.edit.mode = \u6309\u201C\u8FD4\u56DE\u201D\u9000\u51FA\u7F16\u8F91\u6A21\u5F0F\u3002
jshell.err.wait.applies.to.external.editor = -wait \u9002\u7528\u4E8E\u5916\u90E8\u7F16\u8F91\u5668
+jshell.label.editpad = JShell Edit Pad
jshell.err.setting.to.retain.must.be.specified = \u5FC5\u987B\u6307\u5B9A\u8981\u4FDD\u7559\u7684\u8BBE\u7F6E -- {0}
jshell.msg.set.show.mode.settings = \n\u8981\u663E\u793A\u6A21\u5F0F\u8BBE\u7F6E, \u8BF7\u4F7F\u7528 ''/set prompt'', ''/set truncation'', ...\n\u6216\u8005\u4F7F\u7528 ''/set mode'' \u540E\u8DDF\u53CD\u9988\u6A21\u5F0F\u540D\u79F0\u3002
@@ -84,7 +87,7 @@
jshell.err.help.arg = \u6CA1\u6709\u547D\u4EE4\u6216\u4E3B\u9898\u4EE5\u63D0\u4F9B\u7684\u53C2\u6570\u5F00\u59CB: {0}
jshell.msg.help.begin =\u952E\u5165 Java \u8BED\u8A00\u8868\u8FBE\u5F0F, \u8BED\u53E5\u6216\u58F0\u660E\u3002\n\u6216\u8005\u952E\u5165\u4EE5\u4E0B\u547D\u4EE4\u4E4B\u4E00:\n
-jshell.msg.help.subject =\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u952E\u5165 ''/help'', \u540E\u8DDF\u547D\u4EE4\u6216\u4E3B\u9898\u7684\u540D\u79F0\u3002\n\u4F8B\u5982 ''/help /list'' \u6216 ''/help intro''\u3002\u4E3B\u9898:\n
+jshell.msg.help.subject =\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u952E\u5165 ''/help'', \u540E\u8DDF\n\u547D\u4EE4\u6216\u4E3B\u9898\u7684\u540D\u79F0\u3002\n\u4F8B\u5982 ''/help /list'' \u6216 ''/help intro''\u3002\u4E3B\u9898:\n
jshell.err.drop.arg =\u5728 /drop \u53C2\u6570\u4E2D, \u8BF7\u6307\u5B9A\u8981\u5220\u9664\u7684\u5BFC\u5165, \u53D8\u91CF, \u65B9\u6CD5\u6216\u7C7B\u3002\n\u6309 id \u6216\u540D\u79F0\u6307\u5B9A\u3002\u4F7F\u7528 /list \u53EF\u67E5\u770B id\u3002\u4F7F\u7528 /reset \u53EF\u91CD\u7F6E\u6240\u6709\u72B6\u6001\u3002
jshell.err.drop.ambiguous = \u53C2\u6570\u5F15\u7528\u4E86\u591A\u4E2A\u5BFC\u5165, \u53D8\u91CF, \u65B9\u6CD5\u6216\u7C7B\u3002
@@ -133,6 +136,11 @@
jshell.err.retained.mode.failure = \u4FDD\u7559\u6A21\u5F0F\u4E2D\u51FA\u73B0\u6545\u969C (\u5DF2\u6E05\u9664\u6A21\u5F0F) -- {0} {1}
jshell.console.see.more = <\u6309 Tab \u53EF\u67E5\u770B\u66F4\u591A\u5185\u5BB9>
+jshell.console.see.javadoc = <\u518D\u6B21\u6309 shift-tab \u53EF\u67E5\u770B javadoc>
+jshell.console.see.help = <\u518D\u6B21\u6309 shift-tab \u53EF\u67E5\u770B\u8BE6\u7EC6\u5E2E\u52A9>
+jshell.console.see.next.page = <\u6309\u7A7A\u683C\u4EE5\u67E5\u770B\u4E0B\u4E00\u9875, \u6309 Q \u4EE5\u9000\u51FA>
+jshell.console.see.next.javadoc = <\u6309\u7A7A\u683C\u4EE5\u67E5\u770B\u4E0B\u4E00\u4E2A javadoc, \u6309 Q \u4EE5\u9000\u51FA>
+jshell.console.no.javadoc = <\u627E\u4E0D\u5230 javadoc>
jshell.console.do.nothing = \u4E0D\u6267\u884C\u4EFB\u4F55\u64CD\u4F5C
jshell.console.choice = \u9009\u9879:
jshell.console.create.variable = \u521B\u5EFA\u53D8\u91CF
@@ -142,7 +150,7 @@
help.usage = \u7528\u6CD5: jshell <\u9009\u9879> <\u52A0\u8F7D\u6587\u4EF6>\n\u5176\u4E2D, \u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC:\n --class-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n --module-path <\u8DEF\u5F84> \u6307\u5B9A\u67E5\u627E\u5E94\u7528\u7A0B\u5E8F\u6A21\u5757\u7684\u4F4D\u7F6E\n --add-modules <\u6A21\u5757>(,<\u6A21\u5757>)*\n \u6307\u5B9A\u8981\u89E3\u6790\u7684\u6A21\u5757; \u5982\u679C <\u6A21\u5757> \n \u4E3A ALL-MODULE-PATH, \u5219\u4E3A\u6A21\u5757\u8DEF\u5F84\u4E2D\u7684\u6240\u6709\u6A21\u5757\n --startup <\u6587\u4EF6> \u5BF9\u542F\u52A8\u5B9A\u4E49\u6267\u884C\u5355\u6B21\u66FF\u6362\n --no-startup \u4E0D\u8FD0\u884C\u542F\u52A8\u5B9A\u4E49\n --feedback <\u6A21\u5F0F> \u6307\u5B9A\u521D\u59CB\u53CD\u9988\u6A21\u5F0F\u3002\u8BE5\u6A21\u5F0F\u53EF\u4EE5\u662F\n \u9884\u5B9A\u4E49\u7684 (silent, concise, normal \u6216 verbose), \n \u4E5F\u53EF\u662F\u4EE5\u524D\u7528\u6237\u5B9A\u4E49\u7684\n -q \u65E0\u63D0\u793A\u53CD\u9988\u3002\u7B49\u540C\u4E8E: --feedback concise\n -s \u771F\u6B63\u65E0\u63D0\u793A\u53CD\u9988\u3002\u7B49\u540C\u4E8E: --feedback silent\n -v \u8BE6\u7EC6\u53CD\u9988\u3002\u7B49\u540C\u4E8E: --feedback verbose\n -J<\u6807\u8BB0> \u76F4\u63A5\u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u8FD0\u884C\u65F6\u7CFB\u7EDF\u3002\n \u4E3A\u6BCF\u4E2A\u8FD0\u884C\u65F6\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -J\n -R<\u6807\u8BB0> \u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u8FDC\u7A0B\u8FD0\u884C\u65F6\u7CFB\u7EDF\u3002\n \u4E3A\u6BCF\u4E2A\u8FDC\u7A0B\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -R\n -C<\u6807\u8BB0> \u5C06 <\u6807\u8BB0> \u4F20\u9012\u5230\u7F16\u8BD1\u5668\u3002\n \u4E3A\u6BCF\u4E2A\u7F16\u8BD1\u5668\u6807\u8BB0\u6216\u6807\u8BB0\u53C2\u6570\u4F7F\u7528\u4E00\u4E2A -C\n --help \u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u6B64\u63D0\u8981\n --version \u7248\u672C\u4FE1\u606F\n -X \u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u5E2E\u52A9\n
-help.usage.x = \ --add-exports <\u6A21\u5757>/<\u7A0B\u5E8F\u5305> \u5C06\u6307\u5B9A\u7684\u6A21\u5757\u4E13\u7528\u7A0B\u5E8F\u5305\u5BFC\u51FA\u5230\u7247\u6BB5\n \n\u8FD9\u4E9B\u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n
+help.usage.x = \ --add-exports <\u6A21\u5757>/<\u7A0B\u5E8F\u5305> \u5C06\u6307\u5B9A\u7684\u6A21\u5757\u4E13\u7528\u7A0B\u5E8F\u5305\u5BFC\u51FA\u5230\u7247\u6BB5\n --execution <\u89C4\u8303> \u6307\u5B9A\u66FF\u4EE3\u6267\u884C\u5F15\u64CE\u3002\n \u5176\u4E2D <\u89C4\u8303> \u662F ExecutionControl \u89C4\u8303\u3002\n \u6709\u5173\u89C4\u8303\u7684\u8BED\u6CD5, \u8BF7\u53C2\u9605\u7A0B\u5E8F\u5305\n jdk.jshell.spi \u7684\u6587\u6863\n \n\u8FD9\u4E9B\u9009\u9879\u662F\u975E\u6807\u51C6\u9009\u9879, \u5982\u6709\u66F4\u6539, \u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002\n
help.list.summary = \u5217\u51FA\u60A8\u952E\u5165\u7684\u6E90
help.list.args = [<\u540D\u79F0\u6216 id>|-all|-start]
@@ -185,16 +193,16 @@
help.exit =\u9000\u51FA jshell \u5DE5\u5177\u3002\u4E0D\u4FDD\u5B58\u5DE5\u4F5C\u3002\n\u5728\u4F7F\u7528\u6B64\u547D\u4EE4\u524D\u5E94\u8BE5\u5148\u4FDD\u5B58\u4EFB\u4F55\u5DE5\u4F5C
help.reset.summary = \u91CD\u542F jshell
-help.reset.args =
-help.reset =\u91CD\u542F jshell \u5DE5\u5177\u4EE3\u7801\u548C\u6267\u884C\u72B6\u6001:\n\t* \u6240\u6709\u8F93\u5165\u7684\u4EE3\u7801\u90FD\u5C06\u4E22\u5931\u3002\n\t* \u91CD\u65B0\u6267\u884C\u542F\u52A8\u4EE3\u7801\u3002\n\t* \u91CD\u65B0\u542F\u52A8\u6267\u884C\u72B6\u6001\u3002\n\t* \u6E05\u9664\u7C7B\u8DEF\u5F84\u3002\n\u5C06\u5DE5\u5177\u8BBE\u7F6E\u4FDD\u6301\u4E3A\u901A\u8FC7\u4EE5\u4E0B\u547D\u4EE4\u6267\u884C\u7684\u8BBE\u7F6E: /set ...\n\u5728\u4F7F\u7528\u6B64\u547D\u4EE4\u524D\u5E94\u8BE5\u5148\u4FDD\u5B58\u4EFB\u4F55\u5DE5\u4F5C
+help.reset.args = [-class-path <\u8DEF\u5F84>] [-module-path <\u8DEF\u5F84>] [-add-modules <\u6A21\u5757>]...
+help.reset =\u91CD\u7F6E jshell \u5DE5\u5177\u4EE3\u7801\u548C\u6267\u884C\u72B6\u6001:\n\t* \u6240\u6709\u8F93\u5165\u7684\u4EE3\u7801\u90FD\u5C06\u4E22\u5931\u3002\n\t* \u91CD\u65B0\u6267\u884C\u542F\u52A8\u4EE3\u7801\u3002\n\t* \u91CD\u65B0\u542F\u52A8\u6267\u884C\u72B6\u6001\u3002\n\t\u5C06\u5DE5\u5177\u8BBE\u7F6E\u4FDD\u6301\u4E3A\u901A\u8FC7\u4EE5\u4E0B\u547D\u4EE4\u6267\u884C\u7684\u8BBE\u7F6E: /set ...\n\u5728\u4F7F\u7528\u6B64\u547D\u4EE4\u524D\u5E94\u8BE5\u5148\u4FDD\u5B58\u4EFB\u4F55\u5DE5\u4F5C\u3002\n/reset \u547D\u4EE4\u63A5\u53D7\u4E0A\u4E0B\u6587\u9009\u9879, \u8BF7\u53C2\u9605:\n\n\t/help context\n
-help.reload.summary = \u91CD\u542F\u548C\u91CD\u653E\u76F8\u5173\u5386\u53F2\u8BB0\u5F55 -- \u5F53\u524D\u5386\u53F2\u8BB0\u5F55\u6216\u4E0A\u4E00\u4E2A\u5386\u53F2\u8BB0\u5F55 (-restore)
-help.reload.args = [-restore] [-quiet]
-help.reload =\u91CD\u7F6E jshell \u5DE5\u5177\u4EE3\u7801\u548C\u6267\u884C\u72B6\u6001, \u7136\u540E\u6309\u7167\u5404\u6709\u6548\u7247\u6BB5\u548C\n\u4EFB\u4F55 /drop \u6216 /classpath \u547D\u4EE4\u7684\u8F93\u5165\u987A\u5E8F\u91CD\u653E\u5B83\u4EEC\u3002\n\n/reload\n\t\u91CD\u7F6E\u548C\u91CD\u653E\u81EA\u8FDB\u5165 jshell \u4EE5\u6765\u7684\u6709\u6548\u5386\u53F2\u8BB0\u5F55, \n\t\u6216\u8005\u6267\u884C /reset \u6216 /reload \u547D\u4EE4\u4E2D\u6700\u65B0\u7684\u90A3\u4E2A\n\t\u547D\u4EE4\u3002\n\n/reload -restore\n\t\u91CD\u7F6E\u5E76\u91CD\u653E\u4E0A\u4E00\u6B21\u8FDB\u5165 jshell \u4EE5\u53CA\u6700\u8FD1\u8FDB\u5165 jshell\n\t\u4E4B\u95F4\u7684\u6709\u6548\u5386\u53F2\u8BB0\u5F55, \u6216\u8005\u6267\u884C /reset \u6216 /reload\n\t\u547D\u4EE4\u3002\u8FD9\u8FDB\u800C\u53EF\u7528\u4E8E\u8FD8\u539F\u4E0A\u4E00\u4E2A\n\tjshell \u5DE5\u5177\u4F1A\u8BDD\u3002\n\n/reload [-restore] -quiet\n\t\u4F7F\u7528 '-quiet' \u53C2\u6570\u65F6, \u4E0D\u663E\u793A\u91CD\u653E\u3002\u5C06\u663E\u793A\u9519\u8BEF\u3002
+help.reload.summary = \u91CD\u7F6E\u548C\u91CD\u653E\u76F8\u5173\u5386\u53F2\u8BB0\u5F55 -- \u5F53\u524D\u5386\u53F2\u8BB0\u5F55\u6216\u4E0A\u4E00\u4E2A\u5386\u53F2\u8BB0\u5F55 (-restore)
+help.reload.args = [-restore] [-quiet] [-class-path <\u8DEF\u5F84>] [-module-path <\u8DEF\u5F84>]...
+help.reload =\u91CD\u7F6E jshell \u5DE5\u5177\u4EE3\u7801\u548C\u6267\u884C\u72B6\u6001, \u7136\u540E\u6309\u7167\u5404\u6709\u6548\u7247\u6BB5\u548C\n\u4EFB\u4F55 /drop \u6216 /classpath \u547D\u4EE4\u7684\u8F93\u5165\u987A\u5E8F\u91CD\u653E\u5B83\u4EEC\u3002\n\n/reload\n\t\u91CD\u7F6E\u548C\u91CD\u653E\u81EA\u8FDB\u5165 jshell \u4EE5\u6765\u7684\u6709\u6548\u5386\u53F2\u8BB0\u5F55, \n\t\u6216\u8005\u6267\u884C /reset \u6216 /reload \u547D\u4EE4\u4E2D\u6700\u65B0\u7684\u90A3\u4E2A\n\t\u547D\u4EE4\u3002\n\n/reload -restore\n\t\u91CD\u7F6E\u5E76\u91CD\u653E\u4E0A\u4E00\u6B21\u8FDB\u5165 jshell \u4E0E\u6700\u8FD1\u8FDB\u5165 jshell\n\t\u4E4B\u95F4\u7684\u6709\u6548\u5386\u53F2\u8BB0\u5F55, \u6216\u8005\u6267\u884C /reset \u6216 /reload\n\t\u547D\u4EE4\u3002\u8FD9\u8FDB\u800C\u53EF\u7528\u4E8E\u8FD8\u539F\u4E0A\u4E00\u4E2A\n\tjshell \u5DE5\u5177\u4F1A\u8BDD\u3002\n\n/reload [-restore] -quiet\n\t\u4F7F\u7528 '-quiet' \u53C2\u6570\u65F6, \u4E0D\u663E\u793A\u91CD\u653E\u3002\u5C06\u663E\u793A\u9519\u8BEF\u3002\n\n\u4E0A\u9762\u6BCF\u4E2A\u547D\u4EE4\u90FD\u63A5\u53D7\u4E0A\u4E0B\u6587\u9009\u9879, \u8BF7\u53C2\u9605:\n\n\t/help context\n\n\u4F8B\u5982:\n\n\t/reload -add-modules com.greetings -restore
-help.classpath.summary = \u5C06\u8DEF\u5F84\u6DFB\u52A0\u5230\u7C7B\u8DEF\u5F84
-help.classpath.args = <path>
-help.classpath =\u5411\u7C7B\u8DEF\u5F84\u9644\u52A0\u5176\u4ED6\u8DEF\u5F84\u3002
+help.env.summary = \u67E5\u770B\u6216\u66F4\u6539\u8BC4\u4F30\u4E0A\u4E0B\u6587
+help.env.args = [-class-path <\u8DEF\u5F84>] [-module-path <\u8DEF\u5F84>] [-add-modules <\u6A21\u5757>] ...
+help.env =\u67E5\u770B\u6216\u66F4\u6539\u8BC4\u4F30\u4E0A\u4E0B\u6587\u3002\u8BC4\u4F30\u4E0A\u4E0B\u6587\u662F\u7C7B\u8DEF\u5F84, \n\u6A21\u5757\u8DEF\u5F84\u7B49\u7B49\u3002\n/env\n\t\u663E\u793A\u4F5C\u4E3A\u4E0A\u4E0B\u6587\u9009\u9879\u663E\u793A\u7684\u8BC4\u4F30\u4E0A\u4E0B\u6587\u3002\n\n/env [-class-path <\u8DEF\u5F84>] [-module-path <\u8DEF\u5F84>] [-add-modules <\u6A21\u5757>] ...\n\t\u5728\u81F3\u5C11\u8BBE\u7F6E\u4E00\u4E2A\u9009\u9879\u7684\u60C5\u51B5\u4E0B, \u8BBE\u7F6E\u8BC4\u4F30\u4E0A\u4E0B\u6587\u3002\u5982\u679C\n\t\u5DF2\u5B9A\u4E49\u7247\u6BB5, \u5219\u5C06\u4F7F\u7528\u65B0\u8BC4\u4F30\u4E0A\u4E0B\u6587\u91CD\u7F6E\n\t\u6267\u884C\u72B6\u6001, \u5E76\u4E14\u5C06\u91CD\u653E\u7247\u6BB5 -- \u4E0D\u663E\u793A\n\t\u91CD\u653E, \u4F46\u662F\u5C06\u663E\u793A\u9519\u8BEF\u3002\u8FD9\u7B49\u540C\u4E8E: /reload -quiet\n\t\u6709\u5173\u4E0A\u4E0B\u6587\u9009\u9879\u7684\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605:\n\n\t\t/help context\n\n\t\u4F8B\u5982:\n\n\t\t/env -add-modules com.greetings
help.history.summary = \u60A8\u952E\u5165\u7684\u5185\u5BB9\u7684\u5386\u53F2\u8BB0\u5F55
help.history.args =
@@ -234,6 +242,8 @@
help.shortcuts.summary = \u5FEB\u6377\u65B9\u5F0F\u7684\u8BF4\u660E
help.shortcuts =\u652F\u6301\u7684\u5FEB\u6377\u65B9\u5F0F\u5305\u62EC:\n\n<tab>\n\t\t\u5728\u8F93\u5165 Java \u6807\u8BC6\u7B26, jshell \u547D\u4EE4\u6216 jshell\n\t\t\u547D\u4EE4\u53C2\u6570 (\u5728\u67D0\u4E9B\u60C5\u51B5\u4E0B) \u7684\u524D\u51E0\u4E2A\u5B57\u6BCD\u540E,\n\t\t\u6309 <tab> \u952E\u53EF\u4EE5\u5B8C\u6210\u8F93\u5165\u3002\n\t\t\u5982\u679C\u6709\u591A\u4E2A\u8F93\u5165\u63D0\u793A, \u5219\u663E\u793A\u53EF\u80FD\u7684\u8F93\u5165\u63D0\u793A\u3002\n\nShift-<tab>\n\t\t\u5728\u65B9\u6CD5\u6216\u6784\u9020\u5668\u8C03\u7528\u7684\u540D\u79F0\u548C\u5DE6\u62EC\u53F7\u540E\u9762,\n\t\t\u6309\u4F4F <shift> \u952E\u5E76\u6309 <tab> \u53EF\u67E5\u770B\u6240\u6709\n\t\t\u5339\u914D\u7684\u65B9\u6CD5/\u6784\u9020\u5668\u7684\u63D0\u8981\u3002\n\n<fix-shortcut> v\n\t\t\u5728\u5B8C\u6574\u7684\u8868\u8FBE\u5F0F\u540E\u9762, \u6309 "<fix-shortcut> v" \u53EF\u4EE5\u5F15\u5165\u65B0\u7684\u53D8\u91CF,\n\t\t\u5176\u7C7B\u578B\u57FA\u4E8E\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B\u3002\n\t\t"<fix-shortcut>" \u53EF\u4EE5\u662F Alt-F1 \u6216 Alt-Enter, \u5177\u4F53\u53D6\u51B3\u4E8E\u5E73\u53F0\u3002\n\n<fix-shortcut> i\n\t\t\u5728\u4E0D\u53EF\u89E3\u6790\u7684\u6807\u8BC6\u7B26\u540E\u9762, \u6309 "<fix-shortcut> i", \u6B64\u65F6 jshell \u5C06\u4F1A\n\t\t\u6839\u636E\u6307\u5B9A\u7C7B\u8DEF\u5F84\u7684\u5185\u5BB9\u63D0\u8BAE\u53EF\u80FD\u7684\u5168\u9650\u5B9A\u540D\u79F0\u3002\n\t\t"<fix-shortcut>" \u53EF\u4EE5\u662F Alt-F1 \u6216 Alt-Enter, \u5177\u4F53\u53D6\u51B3\u4E8E\u5E73\u53F0\u3002
+help.context.summary = /env /reload \u548C /reset \u7684\u8BC4\u4F30\u4E0A\u4E0B\u6587\u9009\u9879
+help.context =\u8FD9\u4E9B\u9009\u9879\u7528\u4E8E\u914D\u7F6E\u8BC4\u4F30\u4E0A\u4E0B\u6587, \u5B83\u4EEC\u53EF\u4EE5\u5728\u542F\u52A8\njshell \u65F6\u6307\u5B9A: \u5728\u547D\u4EE4\u884C\u4E0A, \u6216\u8005\u4F7F\u7528\u547D\u4EE4 /env,\n/reload \u6216 /reset \u91CD\u65B0\u542F\u52A8\u65F6\u3002\n\n\u5B83\u4EEC\u662F:\n\t--class-path <\u76EE\u5F55\u548C zip/jar \u6587\u4EF6\u7684\u7C7B\u641C\u7D22\u8DEF\u5F84>\n\t\t\u7528\u4E8E\u641C\u7D22\u7C7B\u6587\u4EF6\u7684\u76EE\u5F55, JAR \n\t\t\u6863\u6848\u548C ZIP \u6863\u6848\u7684\u5217\u8868\u3002\n\t\t\u8BE5\u5217\u8868\u4F7F\u7528\u8DEF\u5F84\u5206\u9694\u7B26\u5206\u9694\n\t\t(\u5728 unix/linux/mac \u4E0A\u4F7F\u7528 :, \u5728 Windows \u4E0A\u4F7F\u7528 ;)\u3002\n\t--module-path <\u6A21\u5757\u8DEF\u5F84>...\n\t\t\u76EE\u5F55\u5217\u8868, \u5176\u4E2D\u6BCF\u4E2A\u76EE\u5F55\n\t\t\u90FD\u662F\u4E00\u4E2A\u5305\u542B\u6A21\u5757\u7684\u76EE\u5F55\u3002\n\t\t\u8BE5\u5217\u8868\u4F7F\u7528\u8DEF\u5F84\u5206\u9694\u7B26\u5206\u9694\n\t\t(\u5728 unix/linux/mac \u4E0A\u4F7F\u7528 :, \u5728 Windows \u4E0A\u4F7F\u7528 ;)\u3002\n\t--add-modules <\u6A21\u5757\u540D\u79F0>[,<\u6A21\u5757\u540D\u79F0>...]\n\t\t\u9664\u4E86\u521D\u59CB\u6A21\u5757\u4E4B\u5916\u8981\u89E3\u6790\u7684\u6839\u6A21\u5757\u3002\n\t\t<\u6A21\u5757\u540D\u79F0> \u8FD8\u53EF\u4EE5\u662F ALL-DEFAULT, ALL-SYSTEM,\n\t\tALL-MODULE-PATH\u3002\n\t--add-exports <\u6A21\u5757>/<\u7A0B\u5E8F\u5305>=<\u76EE\u6807\u6A21\u5757>(,<\u76EE\u6807\u6A21\u5757>)*\n\t\t\u66F4\u65B0 <\u6A21\u5757> \u4EE5\u5C06 <\u7A0B\u5E8F\u5305> \u5BFC\u51FA\u5230 <\u76EE\u6807\u6A21\u5757>,\n\t\t\u800C\u65E0\u8BBA\u6A21\u5757\u58F0\u660E\u5982\u4F55\u3002\n\t\t<\u76EE\u6807\u6A21\u5757> \u53EF\u4EE5\u662F ALL-UNNAMED \u4EE5\u5BFC\u51FA\u5230\u5168\u90E8\n\t\t\u672A\u547D\u540D\u6A21\u5757\u3002\u5728 jshell \u4E2D, \u5982\u679C\u672A\u6307\u5B9A \n\t\t<\u76EE\u6807\u6A21\u5757> (no =), \u5219\u4F7F\u7528 ALL-UNNAMED\u3002\n\n\u5728\u547D\u4EE4\u884C\u4E0A, \u8FD9\u4E9B\u9009\u9879\u5FC5\u987B\u6709\u4E24\u4E2A\u77ED\u5212\u7EBF, \u4F8B\u5982: --module-path\n\u5728 jshell \u547D\u4EE4\u4E0A, \u5B83\u4EEC\u53EF\u4EE5\u6709\u4E00\u4E2A\u6216\u4E24\u4E2A\u77ED\u5212\u7EBF, \u4F8B\u5982: -module-path\n
help.set._retain = '-retain' \u9009\u9879\u4FDD\u5B58\u8BBE\u7F6E\u4EE5\u4FBF\u5728\u5C06\u6765\u4F1A\u8BDD\u4E2D\u4F7F\u7528\u3002\n\u53EF\u4EE5\u5728 /set \u7684\u4EE5\u4E0B\u683C\u5F0F\u4E2D\u4F7F\u7528 -retain \u9009\u9879:\n\n\t/set editor -retain\n\t/set start -retain\n\t/set feedback -retain\n\t/set mode -retain\n\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u53C2\u9605\u8FD9\u4E9B\u547D\u4EE4 -- \u4F8B\u5982, /help /set editor
help.set.format = \u8BBE\u7F6E\u7528\u4E8E\u62A5\u544A\u7247\u6BB5\u4E8B\u4EF6\u7684\u683C\u5F0F\uFF1A\n\n\t/set format <\u6A21\u5F0F> <\u5B57\u6BB5> "<\u683C\u5F0F>" <\u9009\u62E9\u5668>...\n\n\u663E\u793A\u683C\u5F0F\u8BBE\u7F6E:\n\n\t/set format [<\u6A21\u5F0F> [<\u5B57\u6BB5>]]\n\n\u5176\u4E2D <\u6A21\u5F0F> \u662F\u4EE5\u524D\u5B9A\u4E49\u7684\u53CD\u9988\u6A21\u5F0F\u7684\u540D\u79F0 -- \u8BF7\u53C2\u9605 '/help /set mode'\u3002\n\u5176\u4E2D <\u5B57\u6BB5> \u662F\u8981\u5B9A\u4E49\u7684\u4E0A\u4E0B\u6587\u7279\u5B9A\u683C\u5F0F\u7684\u540D\u79F0\u3002\n\u5176\u4E2D <\u683C\u5F0F> \u662F\u4E00\u4E2A\u5E26\u5F15\u53F7\u7684\u5B57\u7B26\u4E32, \u8BE5\u5B57\u7B26\u4E32\u5C06\u4E3A\n\u5B57\u6BB5\u7684\u503C (\u5982\u679C\u9009\u62E9\u5668\u5339\u914D, \u6216\u8005\u6CA1\u6709\u4EFB\u4F55\u9009\u62E9\u5668)\u3002\n\u5728\u4F7F\u7528\u683C\u5F0F\u65F6, \u7528\u5927\u62EC\u53F7\u62EC\u8D77\u7684\u5B57\u6BB5\u540D\u5C06\u4F1A\u5728\u76F8\u5E94\u65F6\u95F4\n\u4F7F\u7528\u5B57\u6BB5\u503C\u66FF\u6362\u3002\u8FD9\u4E9B\u5B57\u6BB5\u53EF\u80FD\u5DF2\u4F7F\u7528\u6B64\u547D\u4EE4\u5B9A\u4E49, \n\u4E5F\u53EF\u80FD\u662F\u7279\u5B9A\u4E8E\u4E0A\u4E0B\u6587\u7684\u4EE5\u4E0B\u9884\u5B9A\u4E49\u5B57\u6BB5\u4E4B\u4E00:\n\t{name} == \u540D\u79F0, \u4F8B\u5982: \u53D8\u91CF\u7684\u540D\u79F0, ...\n\t{type} == \u7C7B\u578B\u540D\u79F0\u3002\u53D8\u91CF\u6216\u8868\u8FBE\u5F0F\u7684\u7C7B\u578B,\n\t\t\t\u65B9\u6CD5\u7684\u53C2\u6570\u7C7B\u578B\n\t{value} == \u8868\u8FBE\u5F0F\u6216\u53D8\u91CF\u521D\u59CB\u5316\u7684\u7ED3\u679C\u503C\n\t{unresolved} == \u672A\u89E3\u6790\u5F15\u7528\u7684\u5217\u8868\n\t{errors} == \u53EF\u6062\u590D\u9519\u8BEF\u7684\u5217\u8868 (\u53EA\u5728\u5904\u7406\n\t\t\t"display" \u5B57\u6BB5\u671F\u95F4)\n\t{err} == \u65E0\u683C\u5F0F\u7684\u9519\u8BEF\u884C (\u53EA\u5728\u5904\u7406\n\t\t\t"errorline" \u5B57\u6BB5\u671F\u95F4)\n\u8BE5\u5DE5\u5177\u8BBF\u95EE\u4EE5\u4E0B\u5B57\u6BB5\u6765\u786E\u5B9A\u6240\u663E\u793A\u7684\u53CD\u9988:\n\t{display} == \u4E3A\u7247\u6BB5\u4E8B\u4EF6\u663E\u793A\u7684\u6D88\u606F\n\t{errorline} == "errors" \u5B57\u6BB5\u4E2D\u7684\u4E00\u4E2A\u9519\u8BEF\u884C\u7684\u683C\u5F0F\n\t{pre} == \u53CD\u9988\u524D\u7F00 (\u4F5C\u4E3A\u547D\u4EE4\u53CD\u9988\u7684\u5F00\u5934)\n\t{post} == \u53CD\u9988\u540E\u7F00 (\u4F5C\u4E3A\u547D\u4EE4\u53CD\u9988\u7684\u7ED3\u5C3E)\n\t{errorpre} == \u9519\u8BEF\u524D\u7F00 (\u4F5C\u4E3A\u9519\u8BEF\u53CD\u9988\u7684\u5F00\u5934)\n\t{errorpost} == \u9519\u8BEF\u540E\u7F00 (\u4F5C\u4E3A\u9519\u8BEF\u53CD\u9988\u7684\u7ED3\u5C3E)\n\u8FD9\u4E9B\u5B57\u6BB5\u5177\u6709\u9ED8\u8BA4\u8BBE\u7F6E (\u53EF\u8986\u76D6)\u3002\n\u5176\u4E2D <selector> \u662F\u5E94\u7528\u683C\u5F0F\u7684\u4E0A\u4E0B\u6587\u3002\n\u9009\u62E9\u5668\u7ED3\u6784\u662F\u4E00\u4E2A\u7531\u9009\u62E9\u5668\u7C7B\u578B\u5217\u8868\u6784\u6210\u7684\u5217\u8868, \u4F7F\u7528\u8FDE\u5B57\u7B26\u5206\u9694\u3002\n\u9009\u62E9\u5668\u7C7B\u578B\u5217\u8868\u662F\u5355\u4E2A\u9009\u62E9\u5668\u7C7B\u578B\u7684\u503C\u7684\u5217\u8868, \u4F7F\u7528\u9017\u53F7\u5206\u9694\u3002\n\u5982\u679C\u6BCF\u4E2A\u9009\u62E9\u5668\u7C7B\u578B\u5217\u8868\u5339\u914D, \u5219\u9009\u62E9\u5668\u5339\u914D; \u5982\u679C\u5176\u4E2D\u67D0\u4E2A\u503C\n\u5339\u914D, \u5219\u9009\u62E9\u5668\u7C7B\u578B\u5217\u8868\u5339\u914D\u3002\n\ncase \u9009\u62E9\u5668\u7C7B\u578B\u63CF\u8FF0\u4E86\u7247\u6BB5\u7684\u7C7B\u578B\u3002\u503C\u5305\u62EC:\n\timport -- \u5BFC\u5165\u58F0\u660E\n\tclass -- \u7C7B\u58F0\u660E\n\tinterface -- \u63A5\u53E3\u58F0\u660E\n\tenum -- \u679A\u4E3E\u58F0\u660E\n\tannotation -- \u6CE8\u91CA\u63A5\u53E3\u58F0\u660E\n\tmethod -- \u65B9\u6CD5\u58F0\u660E -- \u6CE8: {type}==parameter-types\n\tvardecl -- \u4E0D\u5E26\u521D\u59CB\u5316\u7684\u53D8\u91CF\u58F0\u660E\n\tvardecl -- \u5E26\u521D\u59CB\u5316\u7684\u53D8\u91CF\u58F0\u660E\n\texpression -- \u8868\u8FBE\u5F0F -- \u6CE8: \
@@ -245,7 +255,7 @@
help.set.mode = \u521B\u5EFA\u7528\u6237\u5B9A\u4E49\u7684\u53CD\u9988\u6A21\u5F0F, \u4E5F\u53EF\u4EE5\u9009\u62E9\u4ECE\u73B0\u6709\u6A21\u5F0F\u590D\u5236:\n\n\t/set mode <\u6A21\u5F0F> [<\u65E7\u6A21\u5F0F>] [-command|-quiet|-delete]\n\u4FDD\u7559\u7528\u6237\u5B9A\u4E49\u7684\u53CD\u9988\u6A21\u5F0F\u4EE5\u4FBF\u5728\u5C06\u6765\u4F1A\u8BDD\u4E2D\u4F7F\u7528:\n\n\t/set mode -retain <\u6A21\u5F0F>\n\n\u5220\u9664\u7528\u6237\u5B9A\u4E49\u7684\u53CD\u9988\u6A21\u5F0F:\n\n\t/set mode -delete [-retain] <\u6A21\u5F0F>\n\n\u663E\u793A\u53CD\u9988\u6A21\u5F0F\u8BBE\u7F6E:\n\n\t/set mode [<\u6A21\u5F0F>]\n\n\u5176\u4E2D <\u65B0\u6A21\u5F0F> \u662F\u60A8\u5E0C\u671B\u521B\u5EFA\u7684\u6A21\u5F0F\u7684\u540D\u79F0\u3002\n\u800C <\u65E7\u6A21\u5F0F> \u662F\u4EE5\u524D\u5B9A\u4E49\u7684\u53CD\u9988\u6A21\u5F0F\u540D\u79F0\u3002\n\u5982\u679C\u5B58\u5728 <\u65E7\u6A21\u5F0F>, \u5176\u8BBE\u7F6E\u5C06\u4F1A\u590D\u5236\u5230\u65B0\u6A21\u5F0F\u3002\n'-command' \u4E0E '-quiet' \u51B3\u5B9A\u4E86\u662F\u5426\u663E\u793A\u4FE1\u606F\u6027/\u9A8C\u8BC1\u547D\u4EE4\u53CD\u9988\u3002\n\n\u4E00\u65E6\u521B\u5EFA\u65B0\u6A21\u5F0F, \u5373\u53EF\u4F7F\u7528 '/set format', '/set prompt' \u548C '/set truncation'\n\u8FDB\u884C\u914D\u7F6E\u3002\u4F7F\u7528 '/set feedback' \u53EF\u4F7F\u7528\u65B0\u6A21\u5F0F\u3002\n\n\u4F7F\u7528 -retain \u9009\u9879\u65F6, \u5C06\u5728\u672C\u6B21\u8FD0\u884C\u548C\u5C06\u6765\u8FD0\u884C jshell \u5DE5\u5177\u65F6\n\u4F7F\u7528\u8BE5\u6A21\u5F0F (\u5305\u62EC\u5176\u7EC4\u4EF6\u63D0\u793A, \u683C\u5F0F\u548C\u622A\u65AD\u8BBE\u7F6E)\u3002\n\u540C\u65F6\u4F7F\u7528 -retain \u548C -delete \u65F6, \u5C06\u4ECE\u5F53\u524D\u548C\u5C06\u6765\u4F1A\u8BDD\u4E2D\n\u5220\u9664\u8BE5\u6A21\u5F0F\u3002\n\n\u4E0D\u5E26\u9009\u9879\u7684\u683C\u5F0F\u663E\u793A\u6A21\u5F0F\u8BBE\u7F6E\u3002\n\u6307\u5B9A <\u6A21\u5F0F> \u65F6, \u5C06\u4EC5\u663E\u793A\u8BE5\u6A21\u5F0F\u7684\u6A21\u5F0F\u8BBE\u7F6E\u3002\n\u6CE8: \u6A21\u5F0F\u8BBE\u7F6E\u5305\u62EC\u63D0\u793A, \u683C\u5F0F\u548C\u622A\u65AD\u7684\n\u8BBE\u7F6E -- \u56E0\u6B64\u8FD8\u4F1A\u663E\u793A\u8FD9\u4E9B\u8BBE\u7F6E\u3002\n\u793A\u4F8B:\n\t/set mode myformat\n\u663E\u793A\u6A21\u5F0F myformat \u7684\u6A21\u5F0F, \u63D0\u793A, \u683C\u5F0F\u548C\u622A\u65AD\u8BBE\u7F6E\n
-help.set.prompt = \u8BBE\u7F6E\u63D0\u793A\u7B26\u3002\u5FC5\u987B\u540C\u65F6\u8BBE\u7F6E\u6B63\u5E38\u63D0\u793A\u548C\u66F4\u591A\u63D0\u793A:\n\n\t/set prompt <\u6A21\u5F0F> "<\u63D0\u793A>" "<\u66F4\u591A\u63D0\u793A>"\n\n\u663E\u793A\u6B63\u5E38\u63D0\u793A\u548C\u66F4\u591A\u63D0\u793A:\n\n\t/set prompt [<\u6A21\u5F0F>]\n\n\u5176\u4E2D <\u6A21\u5F0F> \u662F\u4EE5\u524D\u5B9A\u4E49\u7684\u53CD\u9988\u6A21\u5F0F\u540D\u79F0\u3002\n\u800C <\u63D0\u793A> \u548C <\u66F4\u591A\u63D0\u793A> \u662F\u4F5C\u4E3A\u8F93\u5165\u63D0\u793A\u7B26\u8F93\u51FA\u7684\u5E26\u5F15\u53F7\u7684\u5B57\u7B26\u4E32;\n\u5B83\u4EEC\u5747\u53EF\u9009\u62E9\u6027\u5730\u5305\u542B '%s', \u8BE5\u53D8\u91CF\u5C06\u88AB\u66FF\u6362\u4E3A\u4E0B\u4E00\u4E2A\u7247\u6BB5 ID --\n\u8BF7\u6CE8\u610F, \u53EF\u80FD\u65E0\u6CD5\u5411\u6240\u8F93\u5165\u5185\u5BB9\u5206\u914D\u8BE5 ID, \u4F8B\u5982\u8FD9\u53EF\u80FD\u662F\u4E00\u4E2A\u9519\u8BEF\u6216\u547D\u4EE4\u3002\n\u66F4\u591A\u63D0\u793A\u5728\u591A\u884C\u7247\u6BB5\u7684\u7B2C\u4E8C\u884C\u4EE5\u53CA\u540E\u7EED\u884C\u4E0A\u4F7F\u7528\u3002\n\n\u4E0D\u5E26 <\u63D0\u793A> \u7684\u683C\u5F0F\u663E\u793A\u5F53\u524D\u8BBE\u7F6E\u63D0\u793A\u3002\n\u6307\u5B9A <\u6A21\u5F0F> \u65F6, \u5C06\u4EC5\u663E\u793A\u8BE5\u6A21\u5F0F\u7684\u63D0\u793A\u3002\n\u793A\u4F8B:\n\t/set prompt myformat\n\u663E\u793A\u4E3A\u6A21\u5F0F myformat \u8BBE\u7F6E\u7684\u63D0\u793A\n
+help.set.prompt = \u8BBE\u7F6E\u63D0\u793A\u3002\u5FC5\u987B\u540C\u65F6\u8BBE\u7F6E\u6B63\u5E38\u63D0\u793A\u548C\u66F4\u591A\u63D0\u793A:\n\n\t/set prompt <\u6A21\u5F0F> "<\u63D0\u793A>" "<\u66F4\u591A\u63D0\u793A>"\n\n\u663E\u793A\u6B63\u5E38\u63D0\u793A\u548C\u66F4\u591A\u63D0\u793A:\n\n\t/set prompt [<\u6A21\u5F0F>]\n\n\u5176\u4E2D <\u6A21\u5F0F> \u662F\u4EE5\u524D\u5B9A\u4E49\u7684\u53CD\u9988\u6A21\u5F0F\u540D\u79F0\u3002\n\u800C <\u63D0\u793A> \u548C <\u66F4\u591A\u63D0\u793A> \u662F\u4F5C\u4E3A\u8F93\u5165\u63D0\u793A\u8F93\u51FA\u7684\u5E26\u5F15\u53F7\u7684\u5B57\u7B26\u4E32;\n\u5B83\u4EEC\u5747\u53EF\u9009\u62E9\u6027\u5730\u5305\u542B '%%s', \u8BE5\u53D8\u91CF\u5C06\u88AB\u66FF\u6362\u4E3A\u4E0B\u4E00\u4E2A\u7247\u6BB5 ID --\n\u8BF7\u6CE8\u610F, \u53EF\u80FD\u65E0\u6CD5\u5411\u6240\u8F93\u5165\u5185\u5BB9\u5206\u914D\u8BE5 ID, \u4F8B\u5982\u8FD9\u53EF\u80FD\u662F\u4E00\u4E2A\u9519\u8BEF\u6216\u547D\u4EE4\u3002\n\u66F4\u591A\u63D0\u793A\u5728\u591A\u884C\u7247\u6BB5\u7684\u7B2C\u4E8C\u884C\u4EE5\u53CA\u540E\u7EED\u884C\u4E0A\u4F7F\u7528\u3002\n\n\u4E0D\u5E26 <\u63D0\u793A> \u7684\u683C\u5F0F\u663E\u793A\u5F53\u524D\u8BBE\u7F6E\u7684\u63D0\u793A\u3002\n\u6307\u5B9A <\u6A21\u5F0F> \u65F6, \u5C06\u4EC5\u663E\u793A\u8BE5\u6A21\u5F0F\u7684\u63D0\u793A\u3002\n\u793A\u4F8B:\n\t/set prompt myformat\n\u663E\u793A\u4E3A\u6A21\u5F0F myformat \u8BBE\u7F6E\u7684\u63D0\u793A\n
help.set.editor =\u6307\u5B9A\u8981\u4E3A /edit \u547D\u4EE4\u542F\u52A8\u7684\u547D\u4EE4:\n\n\t/set editor [-retain] [-wait] <\u547D\u4EE4>\n\n\t/set editor [-retain] -default\n\n\t/set editor [-retain] -delete\n\n\u4FDD\u7559\u5F53\u524D\u7F16\u8F91\u5668\u8BBE\u7F6E\u4EE5\u4FBF\u5728\u5C06\u6765\u4F1A\u8BDD\u4E2D\u4F7F\u7528:\n\n\t/set editor -retain\n\n\u663E\u793A\u8981\u4E3A /edit \u547D\u4EE4\u542F\u52A8\u7684\u547D\u4EE4:\n\n\t/set editor\n\n<\u547D\u4EE4> \u662F\u4E0E\u64CD\u4F5C\u7CFB\u7EDF\u76F8\u5173\u7684\u5B57\u7B26\u4E32\u3002\n<\u547D\u4EE4> \u53EF\u4EE5\u5305\u542B\u7528\u7A7A\u683C\u5206\u9694\u7684\u53C2\u6570 (\u4F8B\u5982\u6807\u8BB0)\n\n\u5982\u679C\u6307\u5B9A\u4E86 -default \u9009\u9879, \u5C06\u4F7F\u7528\u5185\u7F6E\u9ED8\u8BA4\u7F16\u8F91\u5668\u3002\n\n\u5982\u679C\u6307\u5B9A\u4E86 -delete \u9009\u9879, \u5C06\u5FFD\u7565\u4EE5\u524D\u7684\u8BBE\u7F6E -- \u542F\u52A8\njshell \u5DE5\u5177\u65F6\u5C06\u521D\u59CB\u5316\u7F16\u8F91\u5668\u8BBE\u7F6E\u3002\u5177\u4F53\u6765\u8BF4, \u5982\u679C\u5B58\u5728\n\u4FDD\u7559\u7684\u8BBE\u7F6E, \u5C06\u4F7F\u7528\u4FDD\u7559\u7684\u8BBE\u7F6E (\u9664\u975E\u540C\u65F6\u6307\u5B9A -retain \u548C -delete --\n\u8FD9\u5C06\u5220\u9664\u4FDD\u7559\u7684\u8BBE\u7F6E), \u5982\u679C\u8BBE\u7F6E\u4E86\u4EE5\u4E0B\u67D0\u4E2A\u73AF\u5883\u53D8\u91CF, \n\u5C06\u4F7F\u7528\u5B83: JSHELLEDITOR, VISUAL \u6216 EDITOR (\u6309\u6B64\u987A\u5E8F)\u3002\u5426\u5219\u5C06\u4F7F\u7528\n\u5185\u7F6E\u9ED8\u8BA4\u7F16\u8F91\u5668\u3002\n\n\u5982\u679C\u6307\u5B9A\u4E86 <\u547D\u4EE4>, \u5B83\u5C06\u7528\u4F5C\u5916\u90E8\u7F16\u8F91\u5668\u3002<\u547D\u4EE4>\n\u7531\u7A0B\u5E8F\u53CA\u96F6\u4E2A\u6216\u591A\u4E2A\u7A0B\u5E8F\u53C2\u6570\u7EC4\u6210\u3002\u4F7F\u7528 <\u547D\u4EE4>\n\u65F6, \u8981\u7F16\u8F91\u7684\u4E34\u65F6\u6587\u4EF6\u5C06\u4F5C\u4E3A\u6700\u540E\u4E00\u4E2A\u53C2\u6570\u9644\u52A0\u3002\n\u901A\u5E38, \u7F16\u8F91\u6A21\u5F0F\u5C06\u6301\u7EED\u5230\u9000\u51FA\u5916\u90E8\u7F16\u8F91\u5668\u4E3A\u6B62\u3002\u67D0\u4E9B\u5916\u90E8\u7F16\u8F91\u5668\n\u5C06\u7ACB\u5373\u9000\u51FA (\u4F8B\u5982, \u5982\u679C\u9000\u51FA\u7F16\u8F91\u7A97\u53E3), \u5E94\u4F7F\u7528\u5916\u90E8\u7F16\u8F91\u5668\n\u6807\u8BB0\u963B\u6B62\u7ACB\u5373\u9000\u51FA, \u6216\u8005\u4F7F\u7528 -wait \u9009\u9879\n\u63D0\u793A\u7528\u6237\u6307\u793A\u4F55\u65F6\u5E94\u7ED3\u675F\u7F16\u8F91\u6A21\u5F0F\u3002\n\n\u6CE8: \u5728\u7F16\u8F91\u6A21\u5F0F\u4E0B, \u4E0D\u4F1A\u663E\u793A\u4EFB\u4F55\u547D\u4EE4\u8F93\u5165\u3002\u9000\u51FA\u7F16\u8F91\u6A21\u5F0F\u540E, \n\u5C06\u4E0D\u4F1A\u663E\u793A\u5BF9\u7F16\u8F91\u7684\u7247\u6BB5\u6240\u505A\u7684\u4EFB\u4F55\u66F4\u6539\u3002\n\n\u4F7F\u7528 -retain \u9009\u9879\u65F6, \u5C06\u5728\u672C\u6B21\u8FD0\u884C\u548C\u5C06\u6765\u8FD0\u884C jshell \u5DE5\u5177\u65F6\n\u4F7F\u7528\u8BE5\u8BBE\u7F6E\u3002\n\n\u4E0D\u5E26 <\u547D\u4EE4> \u6216\u9009\u9879\u7684\u683C\u5F0F\u663E\u793A\u7F16\u8F91\u5668\u8BBE\u7F6E\u3002\n
--- a/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/SampleApi.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/SampleApi.java Thu Feb 23 17:30:09 2017 +0000
@@ -20,42 +20,135 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-
package sampleapi;
-import java.io.File;
-import java.io.FilenameFilter;
+import com.sun.source.util.JavacTask;
+import com.sun.tools.javac.api.JavacTaskImpl;
+import com.sun.tools.javac.api.JavacTool;
+import com.sun.tools.javac.util.Context;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UncheckedIOException;
+import java.nio.file.Files;
import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import static java.util.stream.Collectors.toList;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+import sampleapi.generator.ModuleGenerator;
import sampleapi.generator.PackageGenerator;
public class SampleApi {
- PackageGenerator pkgGen = new PackageGenerator();
+ private final Context ctx;
+ private final List<ModuleGenerator> modules = new ArrayList<>();
+
+ public SampleApi() {
+ JavacTool jt = JavacTool.create();
+ JavacTask task = jt.getTask(null, null, null, null, null, null);
+ ctx = ((JavacTaskImpl) task).getContext();
+ }
- public void generate(File resDir, File outDir) throws Fault {
- FilenameFilter filter = (dir, name) -> { return name.endsWith(".xml"); };
- File[] resFiles = resDir.listFiles(filter);
- for (File resFile : resFiles) {
- pkgGen.processDataSet(resFile);
- pkgGen.generate(outDir);
- }
+ public static SampleApi load(Path resDir)
+ throws ParserConfigurationException, IOException, SAXException {
+ SampleApi result = new SampleApi();
+ System.out.println("Loading resources from " + resDir);
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Files.list(resDir)
+ .peek(f -> System.out.println(f.getFileName()))
+ .filter(f -> f.getFileName().toString().endsWith(".xml"))
+ .peek(f -> System.out.println(f.getFileName()))
+ .forEach(resFile -> {
+ try (InputStream is = Files.newInputStream(resFile)) {
+ Document document = builder.parse(is);
+ NodeList moduleElements = document.getElementsByTagName("module");
+ for (int i = 0; i < moduleElements.getLength(); i++) {
+ result.modules.add(ModuleGenerator
+ .load((Element) moduleElements.item(i)));
+ }
+ } catch (IOException ex) {
+ throw new UncheckedIOException(ex);
+ } catch (SAXException ex) {
+ throw new RuntimeException(ex);
+ }
+ });
+ return result;
+ }
+
+ public Context getContext() {
+ return ctx;
+ }
+
+ public List<ModuleGenerator> getModules() {
+ return modules;
}
- public void generate(Path res, Path dir) throws Fault {
- generate(res.toFile(), dir.toFile());
+
+ public void generate(Path outDir) {
+ //resolveIDs(modules);
+ modules.forEach(m -> {
+ try {
+ m.generate(outDir, this);
+ } catch (IOException ex) {
+ throw new UncheckedIOException(ex);
+ }
+ });
}
- public void generate(String res, String dir) throws Fault {
- generate(new File(res), new File(dir));
+ public void generate(String dir)
+ throws ParserConfigurationException, IOException, SAXException {
+ generate(Paths.get(dir));
+ }
+
+ public ModuleGenerator moduleById(String id) {
+ String real_id = getId(id);
+ return modules.stream()
+ .filter(m -> m.id.equals(real_id))
+ .findAny().orElseThrow(() -> new IllegalStateException("No module with id: " + real_id));
}
- public static class Fault extends Exception {
- public Fault(String msg) {
- super(msg);
+ public PackageGenerator packageById(String id) {
+ String real_id = getId(id);
+ return modules.stream()
+ .flatMap(m -> m.packages.stream())
+ .filter(p -> p.id.equals(real_id)).findAny()
+ .orElseThrow(() -> new IllegalStateException("No package with id: " + real_id));
+ }
+
+ public String classById(String id) {
+ String real_id = getId(id);
+ return modules.stream()
+ .flatMap(m -> m.packages.stream())
+ .peek(p -> System.out.println(p.packageName + " " + p.idBases.size()))
+ .flatMap(p -> p.idBases.entrySet().stream()
+ .filter(e -> e.getKey().equals(real_id))
+ .map(e -> p.packageName + "." + e.getValue().name.toString())
+ .peek(System.out::println))
+ .findAny().orElseThrow(() -> new IllegalStateException("No class with id: " + id));
+ }
+
+ public boolean isId(String name) {
+ return name.startsWith("$");
+ }
+
+ public boolean isIdEqual(String name, String id) {
+ return isId(name) && getId(name).equals(id);
+ }
+
+ public String getId(String name) {
+ if(!isId(name)) {
+ throw new IllegalStateException("Not an id: " + name);
}
- public Fault(String msg, Throwable th) {
- super(msg, th);
- }
+ return name.substring(1);
}
}
--- a/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/SampleApiDefaultRunner.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/SampleApiDefaultRunner.java Thu Feb 23 17:30:09 2017 +0000
@@ -23,9 +23,9 @@
package sampleapi;
-import java.io.File;
-
-import sampleapi.SampleApi.Fault;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
public class SampleApiDefaultRunner {
@@ -132,12 +132,12 @@
return 1;
}
- File resDir = new File(resDirName);
- File outDir = new File(outDirName);
- outDir.mkdirs();
+ Path resDir = Paths.get(resDirName);
+ Path outDir = Paths.get(outDirName);
+ Files.createDirectories(outDir);
SampleApi apiGen = new SampleApi();
- apiGen.generate(resDir, outDir);
+ apiGen.load(resDir).generate(outDir);
return 0;
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/ModuleGenerator.java Thu Feb 23 17:30:09 2017 +0000
@@ -0,0 +1,270 @@
+/*
+ * Copyright (c) 2016, 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.
+ */
+package sampleapi.generator;
+
+import com.sun.source.tree.ModuleTree.ModuleKind;
+import com.sun.tools.javac.code.Symbol;
+import com.sun.tools.javac.parser.Scanner;
+import com.sun.tools.javac.parser.ScannerFactory;
+import com.sun.tools.javac.parser.Tokens;
+import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.tree.JCTree.JCDirective;
+import com.sun.tools.javac.tree.JCTree.JCExpression;
+import com.sun.tools.javac.tree.TreeMaker;
+import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.Names;
+import com.sun.tools.javac.util.ListBuffer;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.List;
+import java.util.ArrayList;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import sampleapi.SampleApi;
+import sampleapi.util.PoorDocCommentTable;
+
+import static com.sun.tools.javac.parser.Tokens.Comment.CommentStyle.JAVADOC;
+
+/**
+ *
+ * This class is responsible for loading module description from an XML and then generating the
+ * <code>module-info.java</code>. It is using {@link PackageGenerator} class for parsing content of the module.
+ */
+public class ModuleGenerator {
+
+ private static final String UNNAMED = "UNNAMED";
+ private static final String MODULE_INFO = "module-info.java";
+
+ public String name;
+ public String id;
+ public ModuleKind kind;
+ public final List<Exports> exportss = new ArrayList<>();
+ public final List<Opens> openss = new ArrayList<>();
+ public final List<Requires> requiress = new ArrayList<>();
+ public final List<Uses> usess = new ArrayList<>();
+ public final List<Provides> providess = new ArrayList<>();
+ public final List<PackageGenerator> packages = new ArrayList<>();
+
+ private ModuleGenerator() {
+ }
+
+ public static ModuleGenerator load(Element rootElement) {
+ ModuleGenerator result = new ModuleGenerator();
+ result.name = rootElement.getAttribute("name");
+ result.id = rootElement.getAttribute("id");
+ String kind = rootElement.getAttribute("kind");
+ result.kind = kind.isEmpty() ? ModuleKind.STRONG :
+ ModuleKind.valueOf(kind.toUpperCase());
+ //exports
+ NodeList exportsList = rootElement.getElementsByTagName("exports");
+ for (int i = 0; i < exportsList.getLength(); i++) {
+ Element exportsEl = (Element) exportsList.item(i);
+ Exports exports = new Exports(exportsEl.getAttribute("package"));
+ NodeList toList = exportsEl.getElementsByTagName("to");
+ for (int j = 0; j < toList.getLength(); j++) {
+ Element toElement = (Element) toList.item(j);
+ exports.modules.add(toElement.getAttribute("module"));
+ }
+ result.exportss.add(exports);
+ }
+ //opens
+ NodeList opensList = rootElement.getElementsByTagName("opens");
+ for (int i = 0; i < opensList.getLength(); i++) {
+ Element opensEl = (Element) opensList.item(i);
+ Opens opens = new Opens(opensEl.getAttribute("package"));
+ NodeList toList = opensEl.getElementsByTagName("to");
+ for (int j = 0; j < toList.getLength(); j++) {
+ Element toElement = (Element) toList.item(j);
+ opens.modules.add(toElement.getAttribute("module"));
+ }
+ result.openss.add(opens);
+ }
+ //requires
+ NodeList requiresList = rootElement.getElementsByTagName("requires");
+ for (int i = 0; i < requiresList.getLength(); i++) {
+ Element requiresEl = (Element) requiresList.item(i);
+ result.requiress.add(new Requires(requiresEl.getAttribute("module"),
+ Boolean.parseBoolean(requiresEl.getAttribute("transitive")),
+ Boolean.parseBoolean(requiresEl.getAttribute("static"))));
+ }
+ //uses
+ NodeList usesList = rootElement.getElementsByTagName("uses");
+ for (int i = 0; i < usesList.getLength(); i++) {
+ Element usesEl = (Element) usesList.item(i);
+ result.usess.add(new Uses(usesEl.getAttribute("service")));
+ }
+ //provides
+ NodeList providesList = rootElement.getElementsByTagName("provides");
+ for (int i = 0; i < providesList.getLength(); i++) {
+ Element providesEl = (Element) providesList.item(i);
+ Provides provides = new Provides(providesEl.getAttribute("service"));
+ NodeList implList = providesEl.getElementsByTagName("implementation");
+ for (int j = 0; j < implList.getLength(); j++) {
+ Element implElement = (Element) implList.item(j);
+ provides.implementations.add(implElement.getAttribute("class"));
+ }
+ result.providess.add(provides);
+ }
+ //packages
+ NodeList packagesList = rootElement.getElementsByTagName("package");
+ for (int i = 0; i < packagesList.getLength(); i++) {
+ result.packages.add(PackageGenerator
+ .processDataSet((Element) packagesList.item(i)));
+ }
+ return result;
+ }
+
+ public void generate(Path outDir, SampleApi api) throws IOException {
+ Files.createDirectories(outDir);
+ Path moduleSourceDir;
+ if (!name.equals(UNNAMED)) {
+ moduleSourceDir = outDir.resolve(name);
+ Files.createDirectory(moduleSourceDir);
+ generateModuleInfo(moduleSourceDir, api);
+ } else {
+ moduleSourceDir = outDir;
+ }
+ packages.forEach(pkg -> pkg.generate(moduleSourceDir));
+ }
+
+ private void generateModuleInfo(Path moduleSourceDir, SampleApi api) throws IOException {
+ TreeMaker make = TreeMaker.instance(api.getContext());
+ Names names = Names.instance(api.getContext());
+ JCTree.JCExpression modQual = make.QualIdent(
+ new Symbol.ModuleSymbol(names.fromString(name), null));
+ ListBuffer<JCDirective> exportsBuffer = new ListBuffer<>();
+ exportss.forEach(e -> {
+ ListBuffer<JCExpression> modulesBuffer = new ListBuffer<>();
+ e.modules.stream()
+ .map(m -> api.isId(m) ? api.moduleById(m).name : m)
+ .forEach(m -> {
+ modulesBuffer.add(make.Ident(
+ names.fromString(m)));
+ });
+ exportsBuffer.add(make.Exports(
+ make.Ident(names.fromString(api.isId(e.pkg) ?
+ api.packageById(e.pkg).packageName : e.pkg)),
+ (modulesBuffer.size() > 0) ? modulesBuffer.toList() : null));
+ });
+ openss.forEach(o -> {
+ ListBuffer<JCExpression> modulesBuffer = new ListBuffer<>();
+ o.modules.stream()
+ .map(m -> api.isId(m) ? api.moduleById(m).name : m)
+ .forEach(m -> {
+ modulesBuffer.add(make.Ident(
+ names.fromString(m)));
+ });
+ exportsBuffer.add(make.Opens(
+ make.Ident(names.fromString(api.isId(o.pkg) ?
+ api.packageById(o.pkg).packageName : o.pkg)),
+ (modulesBuffer.size() > 0) ? modulesBuffer.toList() : null));
+ });
+ ListBuffer<JCDirective> requiresBuffer = new ListBuffer<>();
+ requiress.forEach(r -> requiresBuffer.add(make.Requires(
+ r.transitive, r.statc,
+ make.Ident(names.fromString(api.isId(r.module)
+ ? api.moduleById(r.module).name : r.module)))));
+ ListBuffer<JCDirective> usesBuffer = new ListBuffer<>();
+ usess.forEach(u -> usesBuffer
+ .add(make.Uses(make.Ident(names.fromString(api.isId(u.service)
+ ? api.classById(u.service) : u.service)))));
+ ListBuffer<JCDirective> providesBuffer = new ListBuffer<>();
+ providess.forEach(p -> {
+ ListBuffer<JCExpression> implementationsBuffer = new ListBuffer<>();
+ p.implementations.stream()
+ .map(c -> api.isId(c) ? api.classById(c) : c)
+ .forEach(i -> {
+ implementationsBuffer.add(make.Ident(names.fromString(i)));
+ });
+ providesBuffer.add(make.Provides(
+ make.Ident(names.fromString(api.isId(p.service) ?
+ api.classById(p.service) : p.service)),
+ implementationsBuffer.toList()));
+ });
+ ListBuffer<JCDirective> fullList = new ListBuffer<>();
+ fullList.addAll(exportsBuffer.toList());
+ fullList.addAll(requiresBuffer.toList());
+ fullList.addAll(usesBuffer.toList());
+ fullList.addAll(providesBuffer.toList());
+ JCTree.JCModuleDecl mod = make.ModuleDef(
+ make.Modifiers(0), //TODO how to support this?
+ kind, modQual, fullList.toList());
+ ListBuffer<JCTree> top = new ListBuffer<>();
+ top.add(mod);
+ JCTree.JCCompilationUnit compilationUnit = make.TopLevel(top.toList());
+ try (OutputStream module_info = Files.newOutputStream(moduleSourceDir.resolve(MODULE_INFO))) {
+ module_info.write(compilationUnit.toString().getBytes());
+ }
+ }
+
+
+ public static class Requires {
+ public String module;
+ public boolean transitive;
+ public boolean statc;
+
+ private Requires(String module, boolean transitive, boolean statc) {
+ this.module = module;
+ this.transitive = transitive;
+ this.statc = this.statc;
+ }
+ }
+
+ public static class Exports {
+ public final String pkg;
+ public final List<String> modules = new ArrayList<>();
+
+ private Exports(String pkg) {
+ this.pkg = pkg;
+ }
+ }
+
+ public static class Opens {
+ public final String pkg;
+ public final List<String> modules = new ArrayList<>();
+
+ private Opens(String pkg) {
+ this.pkg = pkg;
+ }
+ }
+
+ public static class Uses {
+ public final String service;
+
+ private Uses(String service) {
+ this.service = service;
+ }
+ }
+
+ public static class Provides {
+ public final String service;
+ public final List<String> implementations = new ArrayList<>();
+
+ private Provides(String service) {
+ this.service = service;
+ }
+ }
+}
--- a/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/PackageGenerator.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/PackageGenerator.java Thu Feb 23 17:30:09 2017 +0000
@@ -25,17 +25,11 @@
import java.io.File;
import java.io.FileWriter;
-import java.io.InputStream;
-import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.ParserConfigurationException;
-import org.xml.sax.SAXException;
-import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
@@ -56,18 +50,19 @@
import com.sun.tools.javac.code.TypeTag;
import com.sun.tools.javac.code.Symbol;
import com.sun.tools.javac.code.Symtab;
+import java.nio.file.Path;
import sampleapi.util.*;
-import sampleapi.SampleApi.Fault;
public class PackageGenerator {
- String packageName;
+ public String packageName;
String packageDirName;
+ public String id;
ArrayList<JCCompilationUnit> topLevels;
Map<String, Integer> nameIndex;
- Map<String, JCClassDecl> idBases;
+ public Map<String, JCClassDecl> idBases;
Map<String, JCAnnotation> idAnnos;
TreeMaker make;
@@ -92,48 +87,43 @@
boolean isDataSetProcessed = false;
- public void processDataSet(File dsFile) throws Fault {
- isDataSetProcessed = true;
- topLevels = new ArrayList<>();
- nameIndex = new HashMap<>();
- idBases = new HashMap<>();
- idAnnos = new HashMap<>();
- fx = false;
+ public static PackageGenerator processDataSet(Element rootElement) {
+ PackageGenerator result = new PackageGenerator();
+ result.isDataSetProcessed = true;
+ result.topLevels = new ArrayList<>();
+ result.nameIndex = new HashMap<>();
+ result.idBases = new HashMap<>();
+ result.idAnnos = new HashMap<>();
+ result.fx = false;
+
+ if (!rootElement.getTagName().equals("package")) {
+ throw new IllegalStateException("Unexpected tag name: "
+ + rootElement.getTagName());
+ }
+ result.packageName = rootElement.getAttribute("name");
+ result.id = rootElement.getAttribute("id");
+ result.fx = "fx".equals(rootElement.getAttribute("style"));
+ result.packageDirName = result.packageName.replace('.', '/');
+
+ // process nodes (toplevels)
+ NodeList nodeList = rootElement.getChildNodes();
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ Node node = nodeList.item(i);
+
+ if (!(node instanceof Element)) {
+ continue;
+ }
+ result.processTopLevel((Element) node);
+ }
+ return result;
+ }
+
+ public void generate(Path outDir) {
+ if (!isDataSetProcessed)
+ throw new RuntimeException("No Data Set processed");
try {
- InputStream is = new FileInputStream(dsFile);
-
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document document = builder.parse(is);
-
- Element rootElement = document.getDocumentElement();
- if (!rootElement.getTagName().equals("package"))
- throw new IllegalStateException("Unexpected tag name: "
- + rootElement.getTagName());
- packageName = rootElement.getAttribute("name");
- fx = "fx".equals(rootElement.getAttribute("style"));
- packageDirName = packageName.replace('.', '/');
-
- // process nodes (toplevels)
- NodeList nodeList = rootElement.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node node = nodeList.item(i);
-
- if (!(node instanceof Element))
- continue;
- processTopLevel((Element) node);
- }
- } catch (ParserConfigurationException | SAXException | IOException e) {
- throw new Fault("Error parsing dataset " + dsFile, e);
- }
- }
-
- public void generate(File outDir) throws Fault {
- if (!isDataSetProcessed)
- throw new Fault("No Data Set processed");
-
- try {
- File pkgDir = new File(outDir, packageDirName);
+ File pkgDir = new File(outDir.toFile(), packageDirName);
pkgDir.mkdirs();
for (JCCompilationUnit decl : topLevels) {
@@ -168,7 +158,7 @@
writer.flush();
writer.close();
} catch (IOException e) {
- throw new Fault("Error writing output");
+ throw new RuntimeException("Error writing output");
}
}
@@ -211,6 +201,7 @@
String baseName = baseTag.getAttribute("basename");
String typeParam = baseTag.getAttribute("tparam");
String baseId = baseTag.getAttribute("id");
+ System.out.println("Found class id: " + baseId);
long kindFlag = 0;
switch (kind) {
--- a/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/util/SimpleMultiplier.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/lib/sampleapi/util/SimpleMultiplier.java Thu Feb 23 17:30:09 2017 +0000
@@ -72,8 +72,8 @@
}
public void initIterator() {
+ size = 1;
if (!valueSpace.isEmpty()) {
- size = 1;
for (int i = 0; i < valueSpace.size(); i++)
size *= valueSpace.get(i).size();
}
--- a/langtools/test/jdk/javadoc/tool/sampleapi/res/fx.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/res/fx.xml Thu Feb 23 17:30:09 2017 +0000
@@ -21,25 +21,27 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.fx" style="fx">
-
- <class basename="FXClass">
- <modifier>public</modifier>
- <member>
- <field basename="id">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.fx" style="fx">
+ <class basename="FXClass">
<modifier>public</modifier>
- <type>int|boolean</type>
- </field>
- <method basename="setProp">
- <modifier>public|protected|private</modifier>
- <param>int|String</param>
- <type>void</type>
- </method>
- <method basename="getProp">
- <modifier>public|protected|private</modifier>
- <type>int|int|String</type>
- </method>
- </member>
- </class>
-
-</package>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </field>
+ <method basename="setProp">
+ <modifier>public|protected|private</modifier>
+ <param>int|String</param>
+ <type>void</type>
+ </method>
+ <method basename="getProp">
+ <modifier>public|protected|private</modifier>
+ <type>int|int|String</type>
+ </method>
+ </member>
+ </class>
+ </package>
+ </module>
+</sampleapi>
--- a/langtools/test/jdk/javadoc/tool/sampleapi/res/simple.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/res/simple.xml Thu Feb 23 17:30:09 2017 +0000
@@ -21,509 +21,512 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.simple">
-
- <class basename="SampleClass" id="baseclass">
- <modifier>public</modifier>
- <modifier>none|abstract</modifier>
- <member>
- <field basename="field">
- <modifier>none|public</modifier>
- <modifier>none|static</modifier>
- <modifier>none|final</modifier>
- <type>boolean|int|String</type>
- </field>
- <field basename="field">
- <modifier>protected|private</modifier>
- <type>String</type>
- </field>
- <constructor>
- <modifier>public</modifier>
- <param>none|int|int,boolean|int,String</param>
- </constructor>
- <constructor>
- <modifier>public</modifier>
- <param>String</param>
- <throw>NullPointerException</throw>
- <throw>SampleException0</throw>
- </constructor>
- <method basename="set">
- <modifier>public</modifier>
- <type>void</type>
- <param>int</param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>int|boolean|String</type>
- </method>
- <method basename="doSomething">
- <modifier>public</modifier>
- <type>void|int</type>
- <param>none|int|Object,int</param>
- <throw>NullPointerException</throw>
- <throw>ArithmeticException</throw>
- </method>
- </member>
- </class>
-
- <class basename="Derived">
- <modifier>public</modifier>
- <extend id="baseclass"/>
- <member>
- <field basename="myField">
- <modifier>public</modifier>
- <type>int|boolean</type>
- </field>
- <constructor>
- <modifier>public</modifier>
- <param>none|int|int,boolean|int,String</param>
- </constructor>
- <method basename="myGet">
- <modifier>public</modifier>
- <type>int|boolean</type>
- </method>
- </member>
- </class>
-
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <field basename="specialData">
- <modifier>private|none|public</modifier>
- <type>boolean|int|String</type>
- </field>
- </member>
- </class>
-
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <import>java.io.ObjectStreamField</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <serialfield basename="serialField">String,Long,Boolean</serialfield>
- <method basename="justToBeHere">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.simple">
+ <class basename="SampleClass" id="baseclass">
<modifier>public</modifier>
- <type>String|long|boolean</type>
- </method>
- </member>
- </class>
-
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <import>java.io.ObjectOutputStream</import>
- <import>java.io.ObjectOutput</import>
- <import>java.io.IOException</import>
- <import>java.io.ObjectStreamException</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <method name="writeObject">
- <modifier>private</modifier>
- <param>ObjectOutputStream</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- <method name="writeExternal">
- <modifier>public</modifier>
- <param>ObjectOutput</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- <method name="writeReplace">
- <modifier>protected</modifier>
- <param>none</param>
- <type>Object</type>
- <throw>ObjectStreamException</throw>
- </method>
- <method name="writeSomethingElse">
- <modifier>public</modifier>
- <param>Object</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- </member>
- </class>
+ <modifier>none|abstract</modifier>
+ <member>
+ <field basename="field">
+ <modifier>none|public</modifier>
+ <modifier>none|static</modifier>
+ <modifier>none|final</modifier>
+ <type>boolean|int|String</type>
+ </field>
+ <field basename="field">
+ <modifier>protected|private</modifier>
+ <type>String</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>none|int|int,boolean|int,String</param>
+ </constructor>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ <throw>NullPointerException</throw>
+ <throw>SampleException0</throw>
+ </constructor>
+ <method basename="set">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int</param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int|boolean|String</type>
+ </method>
+ <method basename="doSomething">
+ <modifier>public</modifier>
+ <type>void|int</type>
+ <param>none|int|Object,int</param>
+ <throw>NullPointerException</throw>
+ <throw>ArithmeticException</throw>
+ </method>
+ </member>
+ </class>
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <import>java.io.ObjectInputStream</import>
- <import>java.io.ObjectInput</import>
- <import>java.io.IOException</import>
- <import>java.io.ObjectStreamException</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <method name="readObject">
- <modifier>private</modifier>
- <param>ObjectInputStream</param>
- <type>void</type>
- <throw>IOException</throw>
- <throw>ClassNotFoundException</throw>
- </method>
- <method name="readExternal">
+ <class basename="Derived">
<modifier>public</modifier>
- <param>ObjectInput</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- <method name="readResolve">
- <modifier>protected</modifier>
- <param>none</param>
- <type>Object</type>
- <throw>ObjectStreamException</throw>
- </method>
- <method name="readSomethingElse">
+ <extend id="baseclass"/>
+ <member>
+ <field basename="myField">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>none|int|int,boolean|int,String</param>
+ </constructor>
+ <method basename="myGet">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </method>
+ </member>
+ </class>
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
<modifier>public</modifier>
- <param>Object</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- </member>
- </class>
-
- <class basename="Container">
- <modifier>public</modifier>
- <member>
- <class basename="Inner">
- <modifier>public</modifier>
+ <implement ref="Serializable"/>
<member>
- <field basename="value">
- <modifier>public</modifier>
- <type>int</type>
+ <field basename="specialData">
+ <modifier>private|none|public</modifier>
+ <type>boolean|int|String</type>
</field>
</member>
</class>
- <class basename="Nested">
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
+ <import>java.io.ObjectStreamField</import>
+ <modifier>public</modifier>
+ <implement ref="Serializable"/>
+ <member>
+ <serialfield basename="serialField">String,Long,Boolean</serialfield>
+ <method basename="justToBeHere">
+ <modifier>public</modifier>
+ <type>String|long|boolean</type>
+ </method>
+ </member>
+ </class>
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
+ <import>java.io.ObjectOutputStream</import>
+ <import>java.io.ObjectOutput</import>
+ <import>java.io.IOException</import>
+ <import>java.io.ObjectStreamException</import>
<modifier>public</modifier>
- <modifier>static</modifier>
+ <implement ref="Serializable"/>
+ <member>
+ <method name="writeObject">
+ <modifier>private</modifier>
+ <param>ObjectOutputStream</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ <method name="writeExternal">
+ <modifier>public</modifier>
+ <param>ObjectOutput</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ <method name="writeReplace">
+ <modifier>protected</modifier>
+ <param>none</param>
+ <type>Object</type>
+ <throw>ObjectStreamException</throw>
+ </method>
+ <method name="writeSomethingElse">
+ <modifier>public</modifier>
+ <param>Object</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ </member>
</class>
- <interface basename="EventListener">
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
+ <import>java.io.ObjectInputStream</import>
+ <import>java.io.ObjectInput</import>
+ <import>java.io.IOException</import>
+ <import>java.io.ObjectStreamException</import>
<modifier>public</modifier>
- <modifier>static</modifier>
+ <implement ref="Serializable"/>
+ <member>
+ <method name="readObject">
+ <modifier>private</modifier>
+ <param>ObjectInputStream</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ <throw>ClassNotFoundException</throw>
+ </method>
+ <method name="readExternal">
+ <modifier>public</modifier>
+ <param>ObjectInput</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ <method name="readResolve">
+ <modifier>protected</modifier>
+ <param>none</param>
+ <type>Object</type>
+ <throw>ObjectStreamException</throw>
+ </method>
+ <method name="readSomethingElse">
+ <modifier>public</modifier>
+ <param>Object</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ </member>
+ </class>
+
+ <class basename="Container">
+ <modifier>public</modifier>
<member>
- <method basename="onEvent">
- <modifier>public</modifier>
- <type>void</type>
+ <class basename="Inner">
+ <modifier>public</modifier>
+ <member>
+ <field basename="value">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ </member>
+ </class>
+ <class basename="Nested">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ </class>
+ <interface basename="EventListener">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <member>
+ <method basename="onEvent">
+ <modifier>public</modifier>
+ <type>void</type>
+ </method>
+ </member>
+ </interface>
+ </member>
+ </class>
+
+ <!-- Errors and exceptions -->
+ <class basename="SampleError">
+ <modifier>public</modifier>
+ <extend ref="java.lang.Error"/>
+ <member>
+ <field basename="errorInfo">
+ <modifier>private</modifier>
+ <type>boolean|int|String</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ </constructor>
+ <method basename="getSampleData">
+ <modifier>public</modifier>
+ <type>int|String</type>
+ </method>
+ </member>
+ </class>
+
+ <class basename="SampleException">
+ <modifier>public</modifier>
+ <extend ref="java.lang.Exception"/>
+ <member>
+ <field basename="exceptionInfo">
+ <modifier>private</modifier>
+ <type>boolean|int|String</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ </constructor>
+ <method basename="getSampleData">
+ <modifier>public</modifier>
+ <type>int|String</type>
+ </method>
+ </member>
+ </class>
+
+ <interface basename="SampleInterface" id="baseinterface">
+ <modifier>public|none</modifier>
+ <member>
+ <method basename="method">
+ <modifier>public</modifier>
+ <type>void|int|Object</type>
</method>
</member>
</interface>
- </member>
- </class>
-
- <!-- Errors and exceptions -->
- <class basename="SampleError">
- <modifier>public</modifier>
- <extend ref="java.lang.Error"/>
- <member>
- <field basename="errorInfo">
- <modifier>private</modifier>
- <type>boolean|int|String</type>
- </field>
- <constructor>
- <modifier>public</modifier>
- <param>String</param>
- </constructor>
- <method basename="getSampleData">
- <modifier>public</modifier>
- <type>int|String</type>
- </method>
- </member>
- </class>
- <class basename="SampleException">
- <modifier>public</modifier>
- <extend ref="java.lang.Exception"/>
- <member>
- <field basename="exceptionInfo">
- <modifier>private</modifier>
- <type>boolean|int|String</type>
- </field>
- <constructor>
+ <class basename="Implementor">
<modifier>public</modifier>
- <param>String</param>
- </constructor>
- <method basename="getSampleData">
- <modifier>public</modifier>
- <type>int|String</type>
- </method>
- </member>
- </class>
+ <implement id="baseinterface"/>
+ <member>
+ <field basename="myField">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </field>
+ <method basename="myGet">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </method>
+ </member>
+ </class>
- <interface basename="SampleInterface" id="baseinterface">
- <modifier>public|none</modifier>
- <member>
- <method basename="method">
- <modifier>public</modifier>
- <type>void|int|Object</type>
- </method>
- </member>
- </interface>
-
- <class basename="Implementor">
- <modifier>public</modifier>
- <implement id="baseinterface"/>
- <member>
- <field basename="myField">
- <modifier>public</modifier>
- <type>int|boolean</type>
- </field>
- <method basename="myGet">
+ <class basename="GenericClass" tparam="T">
+ <import>java.util.List</import>
<modifier>public</modifier>
- <type>int|boolean</type>
- </method>
- </member>
- </class>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>T</param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>T</type>
+ <param>int</param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>List<T></type>
+ </method>
+ </member>
+ </class>
- <class basename="GenericClass" tparam="T">
- <import>java.util.List</import>
- <modifier>public</modifier>
- <member>
- <method basename="put">
- <modifier>public</modifier>
- <type>void</type>
- <param>T</param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>T</type>
- <param>int</param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>List<T></type>
- </method>
- </member>
- </class>
-
- <class basename="GenericClass" tparam="K,V">
- <import>java.util.Set</import>
- <import>java.util.List</import>
- <import>java.util.Map</import>
- <modifier>public</modifier>
- <member>
- <method basename="put">
+ <class basename="GenericClass" tparam="K,V">
+ <import>java.util.Set</import>
+ <import>java.util.List</import>
+ <import>java.util.Map</import>
<modifier>public</modifier>
- <type>void</type>
- <param>K,V</param>
- </method>
- <method basename="putMap">
- <modifier>public</modifier>
- <type>void</type>
- <param>Map<K,V></param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>V</type>
- <param>K</param>
- </method>
- <method basename="getV">
- <modifier>public</modifier>
- <type>Set<V>|List<V></type>
- </method>
- <method basename="getK">
- <modifier>public</modifier>
- <type>Set<K>|List<K></type>
- </method>
- </member>
- </class>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>K,V</param>
+ </method>
+ <method basename="putMap">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>Map<K,V></param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>V</type>
+ <param>K</param>
+ </method>
+ <method basename="getV">
+ <modifier>public</modifier>
+ <type>Set<V>|List<V></type>
+ </method>
+ <method basename="getK">
+ <modifier>public</modifier>
+ <type>Set<K>|List<K></type>
+ </method>
+ </member>
+ </class>
- <class basename="GenericClass" tparam="M,N,O">
- <import>java.util.Set</import>
- <import>java.util.List</import>
- <import>java.util.Map</import>
- <modifier>public</modifier>
- <member>
- <method basename="get">
- <modifier>public</modifier>
- <type>Set<M>|List<M></type>
- <param>Map<N,O></param>
- </method>
- <method basename="get">
+ <class basename="GenericClass" tparam="M,N,O">
+ <import>java.util.Set</import>
+ <import>java.util.List</import>
+ <import>java.util.Map</import>
<modifier>public</modifier>
- <type>Set<N>|List<N></type>
- <param>Map<M,O></param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>Set<O>|List<O></type>
- <param>Map<M,N></param>
- </method>
- </member>
- </class>
+ <member>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>Set<M>|List<M></type>
+ <param>Map<N,O></param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>Set<N>|List<N></type>
+ <param>Map<M,O></param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>Set<O>|List<O></type>
+ <param>Map<M,N></param>
+ </method>
+ </member>
+ </class>
- <class basename="GenericUtil"> <!-- public static generic methods like Collections -->
- <import>java.util.Set</import>
- <import>java.util.List</import>
- <import>java.util.Map</import>
- <import>java.util.function.Supplier</import>
- <modifier>public</modifier>
- <member>
- <method tparam="E" basename="getSomething">
- <modifier>public</modifier>
- <modifier>static</modifier>
- <type>Set<? extends E>|List<? extends E></type>
- </method>
- <method tparam="V,K" basename="getMore">
- <modifier>public|private</modifier>
- <modifier>static</modifier>
- <type>Map<V,K></type>
- </method>
- <method tparam="E" basename="doSomething">
+ <class basename="GenericUtil"> <!-- public static generic methods like Collections -->
+ <import>java.util.Set</import>
+ <import>java.util.List</import>
+ <import>java.util.Map</import>
+ <import>java.util.function.Supplier</import>
<modifier>public</modifier>
- <modifier>static</modifier>
- <type>void</type>
- <param>E</param>
- </method>
- <method tparam="X extends Throwable" basename="orElseThrow">
- <modifier>public|private</modifier>
- <modifier>static</modifier>
- <type>X</type>
- <param>Supplier<? extends X></param>
- <throw>X</throw>
- </method>
- </member>
- </class>
-
- <enum basename="SampleEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="VALUE" count="3"/>
- </member>
- </enum>
-
- <enum basename="SampleEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="VALUE" count="2"/>
- <constant basename="NOVALUE" count="1"/>
- <field basename="field">
- <modifier>private</modifier>
- <type>int|String</type>
- </field>
- <method basename="method">
- <modifier>public</modifier>
- <type>void|String</type>
- </method>
- </member>
- </enum>
+ <member>
+ <method tparam="E" basename="getSomething">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <type>Set<? extends E>|List<? extends E></type>
+ </method>
+ <method tparam="V,K" basename="getMore">
+ <modifier>public|private</modifier>
+ <modifier>static</modifier>
+ <type>Map<V,K></type>
+ </method>
+ <method tparam="E" basename="doSomething">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <type>void</type>
+ <param>E</param>
+ </method>
+ <method tparam="X extends Throwable" basename="orElseThrow">
+ <modifier>public|private</modifier>
+ <modifier>static</modifier>
+ <type>X</type>
+ <param>Supplier<? extends X></param>
+ <throw>X</throw>
+ </method>
+ </member>
+ </class>
- <annodecl id="documented">
- <class>Documented</class>
- </annodecl>
-
- <annodecl id="reten-source">
- <class>Retention</class>
- <arg name="value" value="RetentionPolicy.SOURCE"/>
- </annodecl>
-
- <annodecl id="reten-class">
- <class>Retention</class>
- <arg name="value" value="RetentionPolicy.CLASS"/>
- </annodecl>
+ <enum basename="SampleEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="VALUE" count="3"/>
+ </member>
+ </enum>
+
+ <enum basename="SampleEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="VALUE" count="2"/>
+ <constant basename="NOVALUE" count="1"/>
+ <field basename="field">
+ <modifier>private</modifier>
+ <type>int|String</type>
+ </field>
+ <method basename="method">
+ <modifier>public</modifier>
+ <type>void|String</type>
+ </method>
+ </member>
+ </enum>
- <annodecl id="reten-runtime">
- <class>Retention</class>
- <arg name="value" value="RetentionPolicy.RUNTIME"/>
- </annodecl>
-
- <annodecl id="target-method">
- <class>Target</class>
- <arg value="ElementType.METHOD"/>
- </annodecl>
-
- <annodecl id="target-field">
- <class>Target</class>
- <arg value="ElementType.FIELD"/>
- </annodecl>
-
- <annodecl id="target-type">
- <class>Target</class>
- <arg value="{ElementType.TYPE, ElementType.TYPE_USE}"/>
- </annodecl>
+ <annodecl id="documented">
+ <class>Documented</class>
+ </annodecl>
- <annotation basename="AnnotatedAnno">
- <import>java.lang.annotation.Documented</import>
- <anno>@documented</anno>
- <modifier>public</modifier>
- <member>
- <method basename="value">
- <modifier>public</modifier>
- <type>boolean|String</type>
- </method>
- </member>
- </annotation>
+ <annodecl id="reten-source">
+ <class>Retention</class>
+ <arg name="value" value="RetentionPolicy.SOURCE"/>
+ </annodecl>
+
+ <annodecl id="reten-class">
+ <class>Retention</class>
+ <arg name="value" value="RetentionPolicy.CLASS"/>
+ </annodecl>
+
+ <annodecl id="reten-runtime">
+ <class>Retention</class>
+ <arg name="value" value="RetentionPolicy.RUNTIME"/>
+ </annodecl>
- <annotation basename="AnnotatedAnno">
- <import>java.lang.annotation.Retention</import>
- <import>java.lang.annotation.RetentionPolicy</import>
- <anno>@reten-source|@reten-class|@reten-runtime</anno>
- <modifier>public</modifier>
- <member>
- <method basename="value">
- <modifier>public</modifier>
- <type>int</type>
- </method>
- </member>
- </annotation>
+ <annodecl id="target-method">
+ <class>Target</class>
+ <arg value="ElementType.METHOD"/>
+ </annodecl>
+
+ <annodecl id="target-field">
+ <class>Target</class>
+ <arg value="ElementType.FIELD"/>
+ </annodecl>
- <class basename="AnnoContainer">
- <import>java.lang.annotation.Retention</import>
- <import>java.lang.annotation.RetentionPolicy</import>
- <import>java.lang.annotation.Target</import>
- <import>java.lang.annotation.ElementType</import>
- <modifier>public</modifier>
- <member>
+ <annodecl id="target-type">
+ <class>Target</class>
+ <arg value="{ElementType.TYPE, ElementType.TYPE_USE}"/>
+ </annodecl>
+
<annotation basename="AnnotatedAnno">
- <anno>@reten-source|@reten-class|@reten-runtime</anno>
- <anno>@target-method|@target-field|@target-type</anno>
+ <import>java.lang.annotation.Documented</import>
+ <anno>@documented</anno>
<modifier>public</modifier>
- <modifier>static</modifier>
<member>
<method basename="value">
<modifier>public</modifier>
- <type>String</type>
+ <type>boolean|String</type>
+ </method>
+ </member>
+ </annotation>
+
+ <annotation basename="AnnotatedAnno">
+ <import>java.lang.annotation.Retention</import>
+ <import>java.lang.annotation.RetentionPolicy</import>
+ <anno>@reten-source|@reten-class|@reten-runtime</anno>
+ <modifier>public</modifier>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>int</type>
</method>
</member>
</annotation>
- </member>
- </class>
-
- <annodecl id="deprecated">
- <class>Deprecated</class>
- </annodecl>
- <annodecl id="safevarargs">
- <class>SafeVarargs</class>
- </annodecl>
+ <class basename="AnnoContainer">
+ <import>java.lang.annotation.Retention</import>
+ <import>java.lang.annotation.RetentionPolicy</import>
+ <import>java.lang.annotation.Target</import>
+ <import>java.lang.annotation.ElementType</import>
+ <modifier>public</modifier>
+ <member>
+ <annotation basename="AnnotatedAnno">
+ <anno>@reten-source|@reten-class|@reten-runtime</anno>
+ <anno>@target-method|@target-field|@target-type</anno>
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>String</type>
+ </method>
+ </member>
+ </annotation>
+ </member>
+ </class>
- <annodecl id="suppresswarnings">
- <class>SuppressWarnings</class>
- <arg value="{"unchecked", "rawtypes"}"/>
- </annodecl>
+ <annodecl id="deprecated">
+ <class>Deprecated</class>
+ </annodecl>
+
+ <annodecl id="safevarargs">
+ <class>SafeVarargs</class>
+ </annodecl>
- <class basename="AnnotatedClass">
- <modifier>public</modifier>
- <member>
- <method basename="deprecatedMethod">
- <anno>@deprecated</anno>
- <modifier>public</modifier>
- <type>void</type>
- </method>
- <method basename="safeVarargsMethod">
- <anno>@safevarargs</anno>
+ <annodecl id="suppresswarnings">
+ <class>SuppressWarnings</class>
+ <arg value="{"unchecked", "rawtypes"}"/>
+ </annodecl>
+
+ <class basename="AnnotatedClass">
<modifier>public</modifier>
- <type>void|int</type>
- <param>String...</param>
- </method>
- <method basename="suppressWarningsMethod">
- <anno>@suppresswarnings</anno>
- <modifier>public</modifier>
- <type>void</type>
- <param>int|Object</param>
- </method>
- </member>
- </class>
-</package>
+ <member>
+ <method basename="deprecatedMethod">
+ <anno>@deprecated</anno>
+ <modifier>public</modifier>
+ <type>void</type>
+ </method>
+ <method basename="safeVarargsMethod">
+ <anno>@safevarargs</anno>
+ <modifier>public</modifier>
+ <type>void|int</type>
+ <param>String...</param>
+ </method>
+ <method basename="suppressWarningsMethod">
+ <anno>@suppresswarnings</anno>
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int|Object</param>
+ </method>
+ </member>
+ </class>
+ </package>
+ </module>
+</sampleapi>
--- a/langtools/test/jdk/javadoc/tool/sampleapi/res/sub.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/res/sub.xml Thu Feb 23 17:30:09 2017 +0000
@@ -21,69 +21,72 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.simple.sub">
-
- <class basename="SClass">
- <modifier>public</modifier>
- <modifier>none|abstract</modifier>
- <implement>SInterface0</implement>
- <member>
- <field basename="id">
- <modifier>public</modifier>
- <type>int</type>
- </field>
- <method basename="get">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.simple.sub">
+ <class basename="SClass">
<modifier>public</modifier>
- <type>int</type>
- <throw>SException0</throw>
- </method>
- <method basename="put">
- <modifier>public</modifier>
- <param>int</param>
- <type>void</type>
- <throw>SException0</throw>
- </method>
- </member>
- </class>
+ <modifier>none|abstract</modifier>
+ <implement>SInterface0</implement>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int</type>
+ <throw>SException0</throw>
+ </method>
+ <method basename="put">
+ <modifier>public</modifier>
+ <param>int</param>
+ <type>void</type>
+ <throw>SException0</throw>
+ </method>
+ </member>
+ </class>
- <class basename="SException">
- <modifier>public</modifier>
- <extend ref="java.lang.Exception"/>
- <member>
- <constructor>
+ <class basename="SException">
<modifier>public</modifier>
- <param>String</param>
- </constructor>
- </member>
- </class>
+ <extend ref="java.lang.Exception"/>
+ <member>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ </constructor>
+ </member>
+ </class>
- <interface basename="SInterface">
- <modifier>public</modifier>
- <member>
- <method basename="put">
+ <interface basename="SInterface">
<modifier>public</modifier>
- <type>void</type>
- <param>int</param>
- </method>
- </member>
- </interface>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int</param>
+ </method>
+ </member>
+ </interface>
- <enum basename="SEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="ON" count="1"/>
- <constant basename="OFF" count="1"/>
- </member>
- </enum>
+ <enum basename="SEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="ON" count="1"/>
+ <constant basename="OFF" count="1"/>
+ </member>
+ </enum>
- <annotation basename="SAnno">
- <modifier>public</modifier>
- <member>
- <method basename="value">
+ <annotation basename="SAnno">
<modifier>public</modifier>
- <type>boolean</type>
- </method>
- </member>
- </annotation>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>boolean</type>
+ </method>
+ </member>
+ </annotation>
-</package>
+ </package>
+ </module>
+</sampleapi>
--- a/langtools/test/jdk/javadoc/tool/sampleapi/res/tiny.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/res/tiny.xml Thu Feb 23 17:30:09 2017 +0000
@@ -21,51 +21,53 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.tiny" module="sat.sampleapi">
-
- <class basename="TinyClass">
- <modifier>public</modifier>
- <modifier>none|abstract</modifier>
- <member>
- <field basename="id">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.tiny" module="sat.sampleapi">
+ <class basename="TinyClass">
<modifier>public</modifier>
- <type>int</type>
- </field>
- <method basename="get">
- <modifier>public</modifier>
- <type>int</type>
- </method>
- </member>
- </class>
+ <modifier>none|abstract</modifier>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int</type>
+ </method>
+ </member>
+ </class>
- <interface basename="TinyInterface">
- <modifier>public</modifier>
- <member>
- <method basename="put">
+ <interface basename="TinyInterface">
<modifier>public</modifier>
- <type>void</type>
- <param>int</param>
- </method>
- </member>
- </interface>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int</param>
+ </method>
+ </member>
+ </interface>
- <enum basename="TinyEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="YES" count="1"/>
- <constant basename="NO" count="1"/>
- <constant basename="MAYBE" count="1"/>
- </member>
- </enum>
+ <enum basename="TinyEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="YES" count="1"/>
+ <constant basename="NO" count="1"/>
+ <constant basename="MAYBE" count="1"/>
+ </member>
+ </enum>
- <annotation basename="TinyAnno">
- <modifier>public</modifier>
- <member>
- <method basename="value">
+ <annotation basename="TinyAnno">
<modifier>public</modifier>
- <type>boolean</type>
- </method>
- </member>
- </annotation>
-
-</package>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>boolean</type>
+ </method>
+ </member>
+ </annotation>
+ </package>
+ </module>
+</sampleapi>
--- a/langtools/test/jdk/javadoc/tool/sampleapi/res/tinysub.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/res/tinysub.xml Thu Feb 23 17:30:09 2017 +0000
@@ -21,69 +21,71 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.tiny.sub" module="sat.sampleapi">
-
- <class basename="TSClass">
- <modifier>public</modifier>
- <modifier>none|abstract</modifier>
- <implement>TSInterface0</implement>
- <member>
- <field basename="id">
- <modifier>public</modifier>
- <type>int</type>
- </field>
- <method basename="get">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.tiny.sub" module="sat.sampleapi">
+ <class basename="TSClass">
<modifier>public</modifier>
- <type>int</type>
- <throw>TSException0</throw>
- </method>
- <method basename="put">
- <modifier>public</modifier>
- <param>int</param>
- <type>void</type>
- <throw>TSException0</throw>
- </method>
- </member>
- </class>
+ <modifier>none|abstract</modifier>
+ <implement>TSInterface0</implement>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int</type>
+ <throw>TSException0</throw>
+ </method>
+ <method basename="put">
+ <modifier>public</modifier>
+ <param>int</param>
+ <type>void</type>
+ <throw>TSException0</throw>
+ </method>
+ </member>
+ </class>
- <class basename="TSException">
- <modifier>public</modifier>
- <extend ref="java.lang.Exception"/>
- <member>
- <constructor>
+ <class basename="TSException">
<modifier>public</modifier>
- <param>String</param>
- </constructor>
- </member>
- </class>
+ <extend ref="java.lang.Exception"/>
+ <member>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ </constructor>
+ </member>
+ </class>
- <interface basename="TSInterface">
- <modifier>public</modifier>
- <member>
- <method basename="put">
+ <interface basename="TSInterface">
<modifier>public</modifier>
- <type>void</type>
- <param>int</param>
- </method>
- </member>
- </interface>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int</param>
+ </method>
+ </member>
+ </interface>
- <enum basename="TSEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="ON" count="1"/>
- <constant basename="OFF" count="1"/>
- </member>
- </enum>
+ <enum basename="TSEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="ON" count="1"/>
+ <constant basename="OFF" count="1"/>
+ </member>
+ </enum>
- <annotation basename="TSAnno">
- <modifier>public</modifier>
- <member>
- <method basename="value">
+ <annotation basename="TSAnno">
<modifier>public</modifier>
- <type>boolean</type>
- </method>
- </member>
- </annotation>
-
-</package>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>boolean</type>
+ </method>
+ </member>
+ </annotation>
+ </package>
+ </module>
+</sampleapi>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/jdk/javadoc/tool/sampleapi/res/transitive.xml Thu Feb 23 17:30:09 2017 +0000
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (c) 2016, 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.
+-->
+<sampleapi>
+ <module name="my.first.module" id="first">
+ <exports package="$exported"/>
+ <exports package="$exported.to">
+ <to module="$second"/>
+ </exports>
+ <opens package="$internal">
+ <to module="$second"/>
+ </opens>
+ <uses service="$service"/>
+ <package name="sampleapi.exported" id="exported">
+ <class basename="API" id="service">
+ <modifier>public</modifier>
+ <member>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>Object</type>
+ </method>
+ </member>
+ </class>
+ </package>
+ <package name="sampleapi.exported.to" id="exported.to">
+ <class basename="API" id="baseclass">
+ <modifier>public</modifier>
+ <member>
+ <method basename="put">
+ <param>Object</param>
+ <type>void</type>
+ </method>
+ </member>
+ </class>
+ </package>
+ <package name="sampleapi.not.exported" id="internal">
+ <class basename="AnImplementationDetail"/>
+ </package>
+ </module>
+ <module name="my.second.module" id="second" kind="open">
+ <requires module="$first" transitive="true"/>
+ <requires module="java.xml" static="true"/>
+ <provides service="$service">
+ <implementation class="$second.impl"/>
+ <implementation class="$third.impl"/>
+ </provides>
+ <package name="sampleapi.exported.second">
+ <class basename="API" id="second.impl">
+ <extend id="baseclass"/>
+ </class>
+ <class basename="OtherAPI" id="third.impl">
+ <extend id="baseclass"/>
+ </class>
+ <class basename="TClass">
+ <modifier>public</modifier>
+ <modifier>none|abstract</modifier>
+ <implement>SInterface0</implement>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int</type>
+ <throw>SException0</throw>
+ </method>
+ <method basename="put">
+ <modifier>public</modifier>
+ <param>int</param>
+ <type>void</type>
+ <throw>SException0</throw>
+ </method>
+ </member>
+ </class>
+ </package>
+ </module>
+</sampleapi>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/processing/model/util/types/TestPseudoTypeHandling.java Thu Feb 23 17:30:09 2017 +0000
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2017, 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 8175335
+ * @summary Test Elements.getPackageOf
+ * @author Joseph D. Darcy
+ * @library /tools/javac/lib
+ * @modules jdk.compiler
+ * @build JavacTestingAbstractProcessor TestPseudoTypeHandling
+ * @compile -processor TestPseudoTypeHandling -proc:only TestPseudoTypeHandling.java
+ */
+
+import java.util.*;
+import java.util.function.*;
+import static java.util.Objects.*;
+import javax.annotation.processing.*;
+import javax.lang.model.element.*;
+import javax.lang.model.type.*;
+import javax.lang.model.util.*;
+
+/**
+ * Test basic handling of module type.
+ */
+public class TestPseudoTypeHandling extends JavacTestingAbstractProcessor {
+ public boolean process(Set<? extends TypeElement> annotations,
+ RoundEnvironment roundEnv) {
+ if (!roundEnv.processingOver()) {
+ TypeMirror objectType = requireNonNull(eltUtils.getTypeElement("java.lang.Object")).asType();
+
+ List<TypeMirror> typeMirrorsToTest =
+ List.of(requireNonNull(eltUtils.getModuleElement("java.base")).asType(),
+ requireNonNull(eltUtils.getPackageElement("java.lang")).asType());
+
+ for (TypeMirror type : typeMirrorsToTest) {
+ expectException(t -> typeUtils.isSubtype(t, objectType), type);
+ expectException(t -> typeUtils.isSubtype(objectType, t), type);
+
+ expectException(t -> typeUtils.isAssignable(t, objectType), type);
+ expectException(t -> typeUtils.isAssignable(objectType, t), type);
+
+ expectException(t -> typeUtils.contains(t, objectType), type);
+ expectException(t -> typeUtils.contains(objectType, t), type);
+
+ expectException(t -> typeUtils.capture(t), type);
+ expectException(t -> typeUtils.erasure(t), type);
+
+ expectException(t -> typeUtils.getArrayType(t), type);
+
+ expectException(t -> typeUtils.directSupertypes(t), type);
+ }
+ }
+ return true;
+ }
+
+ void expectException(Consumer<TypeMirror> argument, TypeMirror type) {
+ try {
+ argument.accept(type);
+ throw new RuntimeException("Should not reach " + type.toString());
+ } catch (IllegalArgumentException e) {
+ ; // Expected
+ }
+ }
+}
--- a/langtools/test/tools/javadoc/sampleapi/SampleApiTest.java Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/tools/javadoc/sampleapi/SampleApiTest.java Thu Feb 23 17:30:09 2017 +0000
@@ -30,6 +30,8 @@
* jdk.compiler/com.sun.tools.javac.parser
* jdk.compiler/com.sun.tools.javac.tree
* jdk.compiler/com.sun.tools.javac.util
+ * jdk.javadoc/jdk.javadoc.internal.tool
+ * @build sampleapi.SampleApiDefaultRunner
* @run main SampleApiTest
*/
--- a/langtools/test/tools/javadoc/sampleapi/res/fx.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/tools/javadoc/sampleapi/res/fx.xml Thu Feb 23 17:30:09 2017 +0000
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2015, 2016 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,25 +21,29 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.fx" style="fx">
-
- <class basename="FXClass">
- <modifier>public</modifier>
- <member>
- <field basename="id">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.fx" style="fx">
+ <class basename="FXClass">
<modifier>public</modifier>
- <type>int|boolean</type>
- </field>
- <method basename="setProp">
- <modifier>public|protected|private</modifier>
- <param>int|String</param>
- <type>void</type>
- </method>
- <method basename="getProp">
- <modifier>public|protected|private</modifier>
- <type>int|int|String</type>
- </method>
- </member>
- </class>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </field>
+ <method basename="setProp">
+ <modifier>public|protected|private</modifier>
+ <param>int|String</param>
+ <type>void</type>
+ </method>
+ <method basename="getProp">
+ <modifier>public|protected|private</modifier>
+ <type>int|int|String</type>
+ </method>
+ </member>
+ </class>
-</package>
+ </package>
+ </module>
+</sampleapi>
+
--- a/langtools/test/tools/javadoc/sampleapi/res/simple.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/tools/javadoc/sampleapi/res/simple.xml Thu Feb 23 17:30:09 2017 +0000
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2015, 2016 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,509 +21,514 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.simple">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.simple">
- <class basename="SampleClass" id="baseclass">
- <modifier>public</modifier>
- <modifier>none|abstract</modifier>
- <member>
- <field basename="field">
- <modifier>none|public</modifier>
- <modifier>none|static</modifier>
- <modifier>none|final</modifier>
- <type>boolean|int|String</type>
- </field>
- <field basename="field">
- <modifier>protected|private</modifier>
- <type>String</type>
- </field>
- <constructor>
- <modifier>public</modifier>
- <param>none|int|int,boolean|int,String</param>
- </constructor>
- <constructor>
- <modifier>public</modifier>
- <param>String</param>
- <throw>NullPointerException</throw>
- <throw>SampleException0</throw>
- </constructor>
- <method basename="set">
- <modifier>public</modifier>
- <type>void</type>
- <param>int</param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>int|boolean|String</type>
- </method>
- <method basename="doSomething">
- <modifier>public</modifier>
- <type>void|int</type>
- <param>none|int|Object,int</param>
- <throw>NullPointerException</throw>
- <throw>ArithmeticException</throw>
- </method>
- </member>
- </class>
-
- <class basename="Derived">
- <modifier>public</modifier>
- <extend id="baseclass"/>
- <member>
- <field basename="myField">
- <modifier>public</modifier>
- <type>int|boolean</type>
- </field>
- <constructor>
- <modifier>public</modifier>
- <param>none|int|int,boolean|int,String</param>
- </constructor>
- <method basename="myGet">
- <modifier>public</modifier>
- <type>int|boolean</type>
- </method>
- </member>
- </class>
-
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <field basename="specialData">
- <modifier>private|none|public</modifier>
- <type>boolean|int|String</type>
- </field>
- </member>
- </class>
-
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <import>java.io.ObjectStreamField</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <serialfield basename="serialField">String,Long,Boolean</serialfield>
- <method basename="justToBeHere">
+ <class basename="SampleClass" id="baseclass">
<modifier>public</modifier>
- <type>String|long|boolean</type>
- </method>
- </member>
- </class>
-
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <import>java.io.ObjectOutputStream</import>
- <import>java.io.ObjectOutput</import>
- <import>java.io.IOException</import>
- <import>java.io.ObjectStreamException</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <method name="writeObject">
- <modifier>private</modifier>
- <param>ObjectOutputStream</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- <method name="writeExternal">
- <modifier>public</modifier>
- <param>ObjectOutput</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- <method name="writeReplace">
- <modifier>protected</modifier>
- <param>none</param>
- <type>Object</type>
- <throw>ObjectStreamException</throw>
- </method>
- <method name="writeSomethingElse">
- <modifier>public</modifier>
- <param>Object</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- </member>
- </class>
+ <modifier>none|abstract</modifier>
+ <member>
+ <field basename="field">
+ <modifier>none|public</modifier>
+ <modifier>none|static</modifier>
+ <modifier>none|final</modifier>
+ <type>boolean|int|String</type>
+ </field>
+ <field basename="field">
+ <modifier>protected|private</modifier>
+ <type>String</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>none|int|int,boolean|int,String</param>
+ </constructor>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ <throw>NullPointerException</throw>
+ <throw>SampleException0</throw>
+ </constructor>
+ <method basename="set">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int</param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int|boolean|String</type>
+ </method>
+ <method basename="doSomething">
+ <modifier>public</modifier>
+ <type>void|int</type>
+ <param>none|int|Object,int</param>
+ <throw>NullPointerException</throw>
+ <throw>ArithmeticException</throw>
+ </method>
+ </member>
+ </class>
- <class basename="SampleSerial">
- <import>java.io.Serializable</import>
- <import>java.io.ObjectInputStream</import>
- <import>java.io.ObjectInput</import>
- <import>java.io.IOException</import>
- <import>java.io.ObjectStreamException</import>
- <modifier>public</modifier>
- <implement ref="Serializable"/>
- <member>
- <method name="readObject">
- <modifier>private</modifier>
- <param>ObjectInputStream</param>
- <type>void</type>
- <throw>IOException</throw>
- <throw>ClassNotFoundException</throw>
- </method>
- <method name="readExternal">
+ <class basename="Derived">
<modifier>public</modifier>
- <param>ObjectInput</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- <method name="readResolve">
- <modifier>protected</modifier>
- <param>none</param>
- <type>Object</type>
- <throw>ObjectStreamException</throw>
- </method>
- <method name="readSomethingElse">
+ <extend id="baseclass"/>
+ <member>
+ <field basename="myField">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>none|int|int,boolean|int,String</param>
+ </constructor>
+ <method basename="myGet">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </method>
+ </member>
+ </class>
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
<modifier>public</modifier>
- <param>Object</param>
- <type>void</type>
- <throw>IOException</throw>
- </method>
- </member>
- </class>
-
- <class basename="Container">
- <modifier>public</modifier>
- <member>
- <class basename="Inner">
- <modifier>public</modifier>
+ <implement ref="Serializable"/>
<member>
- <field basename="value">
- <modifier>public</modifier>
- <type>int</type>
+ <field basename="specialData">
+ <modifier>private|none|public</modifier>
+ <type>boolean|int|String</type>
</field>
</member>
</class>
- <class basename="Nested">
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
+ <import>java.io.ObjectStreamField</import>
+ <modifier>public</modifier>
+ <implement ref="Serializable"/>
+ <member>
+ <serialfield basename="serialField">String,Long,Boolean</serialfield>
+ <method basename="justToBeHere">
+ <modifier>public</modifier>
+ <type>String|long|boolean</type>
+ </method>
+ </member>
+ </class>
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
+ <import>java.io.ObjectOutputStream</import>
+ <import>java.io.ObjectOutput</import>
+ <import>java.io.IOException</import>
+ <import>java.io.ObjectStreamException</import>
<modifier>public</modifier>
- <modifier>static</modifier>
+ <implement ref="Serializable"/>
+ <member>
+ <method name="writeObject">
+ <modifier>private</modifier>
+ <param>ObjectOutputStream</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ <method name="writeExternal">
+ <modifier>public</modifier>
+ <param>ObjectOutput</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ <method name="writeReplace">
+ <modifier>protected</modifier>
+ <param>none</param>
+ <type>Object</type>
+ <throw>ObjectStreamException</throw>
+ </method>
+ <method name="writeSomethingElse">
+ <modifier>public</modifier>
+ <param>Object</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ </member>
</class>
- <interface basename="EventListener">
+
+ <class basename="SampleSerial">
+ <import>java.io.Serializable</import>
+ <import>java.io.ObjectInputStream</import>
+ <import>java.io.ObjectInput</import>
+ <import>java.io.IOException</import>
+ <import>java.io.ObjectStreamException</import>
<modifier>public</modifier>
- <modifier>static</modifier>
+ <implement ref="Serializable"/>
+ <member>
+ <method name="readObject">
+ <modifier>private</modifier>
+ <param>ObjectInputStream</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ <throw>ClassNotFoundException</throw>
+ </method>
+ <method name="readExternal">
+ <modifier>public</modifier>
+ <param>ObjectInput</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ <method name="readResolve">
+ <modifier>protected</modifier>
+ <param>none</param>
+ <type>Object</type>
+ <throw>ObjectStreamException</throw>
+ </method>
+ <method name="readSomethingElse">
+ <modifier>public</modifier>
+ <param>Object</param>
+ <type>void</type>
+ <throw>IOException</throw>
+ </method>
+ </member>
+ </class>
+
+ <class basename="Container">
+ <modifier>public</modifier>
<member>
- <method basename="onEvent">
- <modifier>public</modifier>
- <type>void</type>
+ <class basename="Inner">
+ <modifier>public</modifier>
+ <member>
+ <field basename="value">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ </member>
+ </class>
+ <class basename="Nested">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ </class>
+ <interface basename="EventListener">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <member>
+ <method basename="onEvent">
+ <modifier>public</modifier>
+ <type>void</type>
+ </method>
+ </member>
+ </interface>
+ </member>
+ </class>
+
+ <!-- Errors and exceptions -->
+ <class basename="SampleError">
+ <modifier>public</modifier>
+ <extend ref="java.lang.Error"/>
+ <member>
+ <field basename="errorInfo">
+ <modifier>private</modifier>
+ <type>boolean|int|String</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ </constructor>
+ <method basename="getSampleData">
+ <modifier>public</modifier>
+ <type>int|String</type>
+ </method>
+ </member>
+ </class>
+
+ <class basename="SampleException">
+ <modifier>public</modifier>
+ <extend ref="java.lang.Exception"/>
+ <member>
+ <field basename="exceptionInfo">
+ <modifier>private</modifier>
+ <type>boolean|int|String</type>
+ </field>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ </constructor>
+ <method basename="getSampleData">
+ <modifier>public</modifier>
+ <type>int|String</type>
+ </method>
+ </member>
+ </class>
+
+ <interface basename="SampleInterface" id="baseinterface">
+ <modifier>public|none</modifier>
+ <member>
+ <method basename="method">
+ <modifier>public</modifier>
+ <type>void|int|Object</type>
</method>
</member>
</interface>
- </member>
- </class>
-
- <!-- Errors and exceptions -->
- <class basename="SampleError">
- <modifier>public</modifier>
- <extend ref="java.lang.Error"/>
- <member>
- <field basename="errorInfo">
- <modifier>private</modifier>
- <type>boolean|int|String</type>
- </field>
- <constructor>
- <modifier>public</modifier>
- <param>String</param>
- </constructor>
- <method basename="getSampleData">
- <modifier>public</modifier>
- <type>int|String</type>
- </method>
- </member>
- </class>
- <class basename="SampleException">
- <modifier>public</modifier>
- <extend ref="java.lang.Exception"/>
- <member>
- <field basename="exceptionInfo">
- <modifier>private</modifier>
- <type>boolean|int|String</type>
- </field>
- <constructor>
+ <class basename="Implementor">
<modifier>public</modifier>
- <param>String</param>
- </constructor>
- <method basename="getSampleData">
- <modifier>public</modifier>
- <type>int|String</type>
- </method>
- </member>
- </class>
+ <implement id="baseinterface"/>
+ <member>
+ <field basename="myField">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </field>
+ <method basename="myGet">
+ <modifier>public</modifier>
+ <type>int|boolean</type>
+ </method>
+ </member>
+ </class>
- <interface basename="SampleInterface" id="baseinterface">
- <modifier>public|none</modifier>
- <member>
- <method basename="method">
- <modifier>public</modifier>
- <type>void|int|Object</type>
- </method>
- </member>
- </interface>
-
- <class basename="Implementor">
- <modifier>public</modifier>
- <implement id="baseinterface"/>
- <member>
- <field basename="myField">
- <modifier>public</modifier>
- <type>int|boolean</type>
- </field>
- <method basename="myGet">
+ <class basename="GenericClass" tparam="T">
+ <import>java.util.List</import>
<modifier>public</modifier>
- <type>int|boolean</type>
- </method>
- </member>
- </class>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>T</param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>T</type>
+ <param>int</param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>List<T></type>
+ </method>
+ </member>
+ </class>
- <class basename="GenericClass" tparam="T">
- <import>java.util.List</import>
- <modifier>public</modifier>
- <member>
- <method basename="put">
- <modifier>public</modifier>
- <type>void</type>
- <param>T</param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>T</type>
- <param>int</param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>List<T></type>
- </method>
- </member>
- </class>
-
- <class basename="GenericClass" tparam="K,V">
- <import>java.util.Set</import>
- <import>java.util.List</import>
- <import>java.util.Map</import>
- <modifier>public</modifier>
- <member>
- <method basename="put">
+ <class basename="GenericClass" tparam="K,V">
+ <import>java.util.Set</import>
+ <import>java.util.List</import>
+ <import>java.util.Map</import>
<modifier>public</modifier>
- <type>void</type>
- <param>K,V</param>
- </method>
- <method basename="putMap">
- <modifier>public</modifier>
- <type>void</type>
- <param>Map<K,V></param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>V</type>
- <param>K</param>
- </method>
- <method basename="getV">
- <modifier>public</modifier>
- <type>Set<V>|List<V></type>
- </method>
- <method basename="getK">
- <modifier>public</modifier>
- <type>Set<K>|List<K></type>
- </method>
- </member>
- </class>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>K,V</param>
+ </method>
+ <method basename="putMap">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>Map<K,V></param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>V</type>
+ <param>K</param>
+ </method>
+ <method basename="getV">
+ <modifier>public</modifier>
+ <type>Set<V>|List<V></type>
+ </method>
+ <method basename="getK">
+ <modifier>public</modifier>
+ <type>Set<K>|List<K></type>
+ </method>
+ </member>
+ </class>
- <class basename="GenericClass" tparam="M,N,O">
- <import>java.util.Set</import>
- <import>java.util.List</import>
- <import>java.util.Map</import>
- <modifier>public</modifier>
- <member>
- <method basename="get">
- <modifier>public</modifier>
- <type>Set<M>|List<M></type>
- <param>Map<N,O></param>
- </method>
- <method basename="get">
+ <class basename="GenericClass" tparam="M,N,O">
+ <import>java.util.Set</import>
+ <import>java.util.List</import>
+ <import>java.util.Map</import>
<modifier>public</modifier>
- <type>Set<N>|List<N></type>
- <param>Map<M,O></param>
- </method>
- <method basename="get">
- <modifier>public</modifier>
- <type>Set<O>|List<O></type>
- <param>Map<M,N></param>
- </method>
- </member>
- </class>
+ <member>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>Set<M>|List<M></type>
+ <param>Map<N,O></param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>Set<N>|List<N></type>
+ <param>Map<M,O></param>
+ </method>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>Set<O>|List<O></type>
+ <param>Map<M,N></param>
+ </method>
+ </member>
+ </class>
- <class basename="GenericUtil"> <!-- public static generic methods like Collections -->
- <import>java.util.Set</import>
- <import>java.util.List</import>
- <import>java.util.Map</import>
- <import>java.util.function.Supplier</import>
- <modifier>public</modifier>
- <member>
- <method tparam="E" basename="getSomething">
- <modifier>public</modifier>
- <modifier>static</modifier>
- <type>Set<? extends E>|List<? extends E></type>
- </method>
- <method tparam="V,K" basename="getMore">
- <modifier>public|private</modifier>
- <modifier>static</modifier>
- <type>Map<V,K></type>
- </method>
- <method tparam="E" basename="doSomething">
+ <class basename="GenericUtil"> <!-- public static generic methods like Collections -->
+ <import>java.util.Set</import>
+ <import>java.util.List</import>
+ <import>java.util.Map</import>
+ <import>java.util.function.Supplier</import>
<modifier>public</modifier>
- <modifier>static</modifier>
- <type>void</type>
- <param>E</param>
- </method>
- <method tparam="X extends Throwable" basename="orElseThrow">
- <modifier>public|private</modifier>
- <modifier>static</modifier>
- <type>X</type>
- <param>Supplier<? extends X></param>
- <throw>X</throw>
- </method>
- </member>
- </class>
-
- <enum basename="SampleEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="VALUE" count="3"/>
- </member>
- </enum>
-
- <enum basename="SampleEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="VALUE" count="2"/>
- <constant basename="NOVALUE" count="1"/>
- <field basename="field">
- <modifier>private</modifier>
- <type>int|String</type>
- </field>
- <method basename="method">
- <modifier>public</modifier>
- <type>void|String</type>
- </method>
- </member>
- </enum>
+ <member>
+ <method tparam="E" basename="getSomething">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <type>Set<? extends E>|List<? extends E></type>
+ </method>
+ <method tparam="V,K" basename="getMore">
+ <modifier>public|private</modifier>
+ <modifier>static</modifier>
+ <type>Map<V,K></type>
+ </method>
+ <method tparam="E" basename="doSomething">
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <type>void</type>
+ <param>E</param>
+ </method>
+ <method tparam="X extends Throwable" basename="orElseThrow">
+ <modifier>public|private</modifier>
+ <modifier>static</modifier>
+ <type>X</type>
+ <param>Supplier<? extends X></param>
+ <throw>X</throw>
+ </method>
+ </member>
+ </class>
- <annodecl id="documented">
- <class>Documented</class>
- </annodecl>
-
- <annodecl id="reten-source">
- <class>Retention</class>
- <arg name="value" value="RetentionPolicy.SOURCE"/>
- </annodecl>
-
- <annodecl id="reten-class">
- <class>Retention</class>
- <arg name="value" value="RetentionPolicy.CLASS"/>
- </annodecl>
+ <enum basename="SampleEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="VALUE" count="3"/>
+ </member>
+ </enum>
- <annodecl id="reten-runtime">
- <class>Retention</class>
- <arg name="value" value="RetentionPolicy.RUNTIME"/>
- </annodecl>
-
- <annodecl id="target-method">
- <class>Target</class>
- <arg value="ElementType.METHOD"/>
- </annodecl>
+ <enum basename="SampleEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="VALUE" count="2"/>
+ <constant basename="NOVALUE" count="1"/>
+ <field basename="field">
+ <modifier>private</modifier>
+ <type>int|String</type>
+ </field>
+ <method basename="method">
+ <modifier>public</modifier>
+ <type>void|String</type>
+ </method>
+ </member>
+ </enum>
- <annodecl id="target-field">
- <class>Target</class>
- <arg value="ElementType.FIELD"/>
- </annodecl>
-
- <annodecl id="target-type">
- <class>Target</class>
- <arg value="{ElementType.TYPE, ElementType.TYPE_USE}"/>
- </annodecl>
+ <annodecl id="documented">
+ <class>Documented</class>
+ </annodecl>
- <annotation basename="AnnotatedAnno">
- <import>java.lang.annotation.Documented</import>
- <anno>@documented</anno>
- <modifier>public</modifier>
- <member>
- <method basename="value">
- <modifier>public</modifier>
- <type>boolean|String</type>
- </method>
- </member>
- </annotation>
+ <annodecl id="reten-source">
+ <class>Retention</class>
+ <arg name="value" value="RetentionPolicy.SOURCE"/>
+ </annodecl>
+
+ <annodecl id="reten-class">
+ <class>Retention</class>
+ <arg name="value" value="RetentionPolicy.CLASS"/>
+ </annodecl>
+
+ <annodecl id="reten-runtime">
+ <class>Retention</class>
+ <arg name="value" value="RetentionPolicy.RUNTIME"/>
+ </annodecl>
- <annotation basename="AnnotatedAnno">
- <import>java.lang.annotation.Retention</import>
- <import>java.lang.annotation.RetentionPolicy</import>
- <anno>@reten-source|@reten-class|@reten-runtime</anno>
- <modifier>public</modifier>
- <member>
- <method basename="value">
- <modifier>public</modifier>
- <type>int</type>
- </method>
- </member>
- </annotation>
+ <annodecl id="target-method">
+ <class>Target</class>
+ <arg value="ElementType.METHOD"/>
+ </annodecl>
+
+ <annodecl id="target-field">
+ <class>Target</class>
+ <arg value="ElementType.FIELD"/>
+ </annodecl>
- <class basename="AnnoContainer">
- <import>java.lang.annotation.Retention</import>
- <import>java.lang.annotation.RetentionPolicy</import>
- <import>java.lang.annotation.Target</import>
- <import>java.lang.annotation.ElementType</import>
- <modifier>public</modifier>
- <member>
+ <annodecl id="target-type">
+ <class>Target</class>
+ <arg value="{ElementType.TYPE, ElementType.TYPE_USE}"/>
+ </annodecl>
+
<annotation basename="AnnotatedAnno">
- <anno>@reten-source|@reten-class|@reten-runtime</anno>
- <anno>@target-method|@target-field|@target-type</anno>
+ <import>java.lang.annotation.Documented</import>
+ <anno>@documented</anno>
<modifier>public</modifier>
- <modifier>static</modifier>
<member>
<method basename="value">
<modifier>public</modifier>
- <type>String</type>
+ <type>boolean|String</type>
+ </method>
+ </member>
+ </annotation>
+
+ <annotation basename="AnnotatedAnno">
+ <import>java.lang.annotation.Retention</import>
+ <import>java.lang.annotation.RetentionPolicy</import>
+ <anno>@reten-source|@reten-class|@reten-runtime</anno>
+ <modifier>public</modifier>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>int</type>
</method>
</member>
</annotation>
- </member>
- </class>
-
- <annodecl id="deprecated">
- <class>Deprecated</class>
- </annodecl>
- <annodecl id="safevarargs">
- <class>SafeVarargs</class>
- </annodecl>
+ <class basename="AnnoContainer">
+ <import>java.lang.annotation.Retention</import>
+ <import>java.lang.annotation.RetentionPolicy</import>
+ <import>java.lang.annotation.Target</import>
+ <import>java.lang.annotation.ElementType</import>
+ <modifier>public</modifier>
+ <member>
+ <annotation basename="AnnotatedAnno">
+ <anno>@reten-source|@reten-class|@reten-runtime</anno>
+ <anno>@target-method|@target-field|@target-type</anno>
+ <modifier>public</modifier>
+ <modifier>static</modifier>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>String</type>
+ </method>
+ </member>
+ </annotation>
+ </member>
+ </class>
- <annodecl id="suppresswarnings">
- <class>SuppressWarnings</class>
- <arg value="{"unchecked", "rawtypes"}"/>
- </annodecl>
+ <annodecl id="deprecated">
+ <class>Deprecated</class>
+ </annodecl>
+
+ <annodecl id="safevarargs">
+ <class>SafeVarargs</class>
+ </annodecl>
- <class basename="AnnotatedClass">
- <modifier>public</modifier>
- <member>
- <method basename="deprecatedMethod">
- <anno>@deprecated</anno>
- <modifier>public</modifier>
- <type>void</type>
- </method>
- <method basename="safeVarargsMethod">
- <anno>@safevarargs</anno>
+ <annodecl id="suppresswarnings">
+ <class>SuppressWarnings</class>
+ <arg value="{"unchecked", "rawtypes"}"/>
+ </annodecl>
+
+ <class basename="AnnotatedClass">
<modifier>public</modifier>
- <type>void|int</type>
- <param>String...</param>
- </method>
- <method basename="suppressWarningsMethod">
- <anno>@suppresswarnings</anno>
- <modifier>public</modifier>
- <type>void</type>
- <param>int|Object</param>
- </method>
- </member>
- </class>
-</package>
+ <member>
+ <method basename="deprecatedMethod">
+ <anno>@deprecated</anno>
+ <modifier>public</modifier>
+ <type>void</type>
+ </method>
+ <method basename="safeVarargsMethod">
+ <anno>@safevarargs</anno>
+ <modifier>public</modifier>
+ <type>void|int</type>
+ <param>String...</param>
+ </method>
+ <method basename="suppressWarningsMethod">
+ <anno>@suppresswarnings</anno>
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int|Object</param>
+ </method>
+ </member>
+ </class>
+ </package>
+ </module>
+</sampleapi>
+
--- a/langtools/test/tools/javadoc/sampleapi/res/sub.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/tools/javadoc/sampleapi/res/sub.xml Thu Feb 23 17:30:09 2017 +0000
@@ -21,69 +21,72 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.simple.sub">
-
- <class basename="SClass">
- <modifier>public</modifier>
- <modifier>none|abstract</modifier>
- <implement>SInterface0</implement>
- <member>
- <field basename="id">
- <modifier>public</modifier>
- <type>int</type>
- </field>
- <method basename="get">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.simple.sub">
+ <class basename="SClass">
<modifier>public</modifier>
- <type>int</type>
- <throw>SException0</throw>
- </method>
- <method basename="put">
- <modifier>public</modifier>
- <param>int</param>
- <type>void</type>
- <throw>SException0</throw>
- </method>
- </member>
- </class>
+ <modifier>none|abstract</modifier>
+ <implement>SInterface0</implement>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int</type>
+ <throw>SException0</throw>
+ </method>
+ <method basename="put">
+ <modifier>public</modifier>
+ <param>int</param>
+ <type>void</type>
+ <throw>SException0</throw>
+ </method>
+ </member>
+ </class>
- <class basename="SException">
- <modifier>public</modifier>
- <extend ref="java.lang.Exception"/>
- <member>
- <constructor>
+ <class basename="SException">
<modifier>public</modifier>
- <param>String</param>
- </constructor>
- </member>
- </class>
+ <extend ref="java.lang.Exception"/>
+ <member>
+ <constructor>
+ <modifier>public</modifier>
+ <param>String</param>
+ </constructor>
+ </member>
+ </class>
- <interface basename="SInterface">
- <modifier>public</modifier>
- <member>
- <method basename="put">
+ <interface basename="SInterface">
<modifier>public</modifier>
- <type>void</type>
- <param>int</param>
- </method>
- </member>
- </interface>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int</param>
+ </method>
+ </member>
+ </interface>
- <enum basename="SEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="ON" count="1"/>
- <constant basename="OFF" count="1"/>
- </member>
- </enum>
+ <enum basename="SEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="ON" count="1"/>
+ <constant basename="OFF" count="1"/>
+ </member>
+ </enum>
- <annotation basename="SAnno">
- <modifier>public</modifier>
- <member>
- <method basename="value">
+ <annotation basename="SAnno">
<modifier>public</modifier>
- <type>boolean</type>
- </method>
- </member>
- </annotation>
-
-</package>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>boolean</type>
+ </method>
+ </member>
+ </annotation>
+ </package>
+ </module>
+</sampleapi>
+
--- a/langtools/test/tools/javadoc/sampleapi/res/tiny.xml Thu Feb 23 16:21:30 2017 +0000
+++ b/langtools/test/tools/javadoc/sampleapi/res/tiny.xml Thu Feb 23 17:30:09 2017 +0000
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
- Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2015, 2016 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,51 +21,53 @@
or visit www.oracle.com if you need additional information or have any
questions.
-->
-<package name="sampleapi.tiny">
-
- <class basename="TinyClass">
- <modifier>public</modifier>
- <modifier>none|abstract</modifier>
- <member>
- <field basename="id">
+<sampleapi>
+ <module name="UNNAMED">
+ <package name="sampleapi.tiny">
+ <class basename="TinyClass">
<modifier>public</modifier>
- <type>int</type>
- </field>
- <method basename="get">
- <modifier>public</modifier>
- <type>int</type>
- </method>
- </member>
- </class>
+ <modifier>none|abstract</modifier>
+ <member>
+ <field basename="id">
+ <modifier>public</modifier>
+ <type>int</type>
+ </field>
+ <method basename="get">
+ <modifier>public</modifier>
+ <type>int</type>
+ </method>
+ </member>
+ </class>
- <interface basename="TinyInterface">
- <modifier>public</modifier>
- <member>
- <method basename="put">
+ <interface basename="TinyInterface">
<modifier>public</modifier>
- <type>void</type>
- <param>int</param>
- </method>
- </member>
- </interface>
+ <member>
+ <method basename="put">
+ <modifier>public</modifier>
+ <type>void</type>
+ <param>int</param>
+ </method>
+ </member>
+ </interface>
- <enum basename="TinyEnum">
- <modifier>public</modifier>
- <member>
- <constant basename="YES" count="1"/>
- <constant basename="NO" count="1"/>
- <constant basename="MAYBE" count="1"/>
- </member>
- </enum>
+ <enum basename="TinyEnum">
+ <modifier>public</modifier>
+ <member>
+ <constant basename="YES" count="1"/>
+ <constant basename="NO" count="1"/>
+ <constant basename="MAYBE" count="1"/>
+ </member>
+ </enum>
- <annotation basename="TinyAnno">
- <modifier>public</modifier>
- <member>
- <method basename="value">
+ <annotation basename="TinyAnno">
<modifier>public</modifier>
- <type>boolean</type>
- </method>
- </member>
- </annotation>
-
-</package>
+ <member>
+ <method basename="value">
+ <modifier>public</modifier>
+ <type>boolean</type>
+ </method>
+ </member>
+ </annotation>
+ </package>
+ </module>
+</sampleapi>