6968793: issues with diagnostics
Summary: several diagnostic improvements
Reviewed-by: jjg
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Mon Jan 24 15:44:51 2011 +0000
@@ -905,7 +905,10 @@
// or perhaps expr implements Iterable<T>?
Type base = types.asSuper(exprType, syms.iterableType.tsym);
if (base == null) {
- log.error(tree.expr.pos(), "foreach.not.applicable.to.type");
+ log.error(tree.expr.pos(),
+ "foreach.not.applicable.to.type",
+ exprType,
+ diags.fragment("type.req.array.or.iterable"));
elemtype = types.createErrorType(exprType);
} else {
List<Type> iterableParams = base.allparams();
@@ -970,7 +973,7 @@
if (enumSwitch) {
Symbol sym = enumConstant(c.pat, seltype);
if (sym == null) {
- log.error(c.pat.pos(), "enum.const.req");
+ log.error(c.pat.pos(), "enum.label.must.be.unqualified.enum");
} else if (!labels.add(sym)) {
log.error(c.pos(), "duplicate.case.label");
}
@@ -2228,10 +2231,10 @@
// Determine the symbol represented by the selection.
env.info.varArgs = false;
- Symbol sym = selectSym(tree, site, env, pt, pkind);
+ Symbol sym = selectSym(tree, sitesym, site, env, pt, pkind);
if (sym.exists() && !isType(sym) && (pkind & (PCK | TYP)) != 0) {
site = capture(site);
- sym = selectSym(tree, site, env, pt, pkind);
+ sym = selectSym(tree, sitesym, site, env, pt, pkind);
}
boolean varArgs = env.info.varArgs;
tree.sym = sym;
@@ -2320,6 +2323,14 @@
* @param pkind The expected kind(s) of the Select expression.
*/
private Symbol selectSym(JCFieldAccess tree,
+ Type site,
+ Env<AttrContext> env,
+ Type pt,
+ int pkind) {
+ return selectSym(tree, site.tsym, site, env, pt, pkind);
+ }
+ private Symbol selectSym(JCFieldAccess tree,
+ Symbol location,
Type site,
Env<AttrContext> env,
Type pt,
@@ -2331,12 +2342,12 @@
case PACKAGE:
return rs.access(
rs.findIdentInPackage(env, site.tsym, name, pkind),
- pos, site, name, true);
+ pos, location, site, name, true);
case ARRAY:
case CLASS:
if (pt.tag == METHOD || pt.tag == FORALL) {
return rs.resolveQualifiedMethod(
- pos, env, site, name, pt.getParameterTypes(), pt.getTypeArguments());
+ pos, env, location, site, name, pt.getParameterTypes(), pt.getTypeArguments());
} else if (name == names._this || name == names._super) {
return rs.resolveSelf(pos, env, site.tsym, name);
} else if (name == names._class) {
@@ -2353,7 +2364,7 @@
// We are seeing a plain identifier as selector.
Symbol sym = rs.findIdentInType(env, site, name, pkind);
if ((pkind & ERRONEOUS) == 0)
- sym = rs.access(sym, pos, site, name, true);
+ sym = rs.access(sym, pos, location, site, name, true);
return sym;
}
case WILDCARD:
@@ -2361,12 +2372,12 @@
case TYPEVAR:
// Normally, site.getUpperBound() shouldn't be null.
// It should only happen during memberEnter/attribBase
- // when determining the super type which *must* be
+ // when determining the super type which *must* beac
// done before attributing the type variables. In
// other words, we are seeing this illegal program:
// class B<T> extends A<T.foo> {}
Symbol sym = (site.getUpperBound() != null)
- ? selectSym(tree, capture(site.getUpperBound()), env, pt, pkind)
+ ? selectSym(tree, location, capture(site.getUpperBound()), env, pt, pkind)
: null;
if (sym == null) {
log.error(pos, "type.var.cant.be.deref");
@@ -2375,7 +2386,7 @@
Symbol sym2 = (sym.flags() & Flags.PRIVATE) != 0 ?
rs.new AccessError(env, site, sym) :
sym;
- rs.access(sym2, pos, site, name, true);
+ rs.access(sym2, pos, location, site, name, true);
return sym;
}
case ERROR:
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Jan 24 15:44:51 2011 +0000
@@ -1042,10 +1042,13 @@
if (incompatibleArg != null) {
for (JCTree arg : tree.arguments) {
if (arg.type == incompatibleArg) {
- log.error(arg, "not.within.bounds", incompatibleArg);
+ log.error(arg, "not.within.bounds", incompatibleArg, forms.head);
}
- }
- }
+ forms = forms.tail;
+ }
+ }
+
+ forms = tree.type.tsym.type.getTypeArguments();
boolean is_java_lang_Class = tree.type.tsym.flatName() == names.java_lang_Class;
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Mon Jan 24 15:44:51 2011 +0000
@@ -984,7 +984,7 @@
c.owner.kind == PCK && c.owner != syms.unnamedPackage &&
reader.packageExists(c.fullname))
{
- log.error(tree.pos, "clash.with.pkg.of.same.name", c);
+ log.error(tree.pos, "clash.with.pkg.of.same.name", Kinds.kindName(sym), c);
}
} catch (CompletionFailure ex) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java Mon Jan 24 15:44:51 2011 +0000
@@ -1236,6 +1236,7 @@
*/
Symbol access(Symbol sym,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
boolean qualified,
@@ -1246,23 +1247,46 @@
if (!site.isErroneous() &&
!Type.isErroneous(argtypes) &&
(typeargtypes==null || !Type.isErroneous(typeargtypes)))
- logResolveError(errSym, pos, site, name, argtypes, typeargtypes);
+ logResolveError(errSym, pos, location, site, name, argtypes, typeargtypes);
sym = errSym.access(name, qualified ? site.tsym : syms.noSymbol);
}
return sym;
}
- /** Same as above, but without type arguments and arguments.
+ /** Same as original access(), but without location.
+ */
+ Symbol access(Symbol sym,
+ DiagnosticPosition pos,
+ Type site,
+ Name name,
+ boolean qualified,
+ List<Type> argtypes,
+ List<Type> typeargtypes) {
+ return access(sym, pos, site.tsym, site, name, qualified, argtypes, typeargtypes);
+ }
+
+ /** Same as original access(), but without type arguments and arguments.
+ */
+ Symbol access(Symbol sym,
+ DiagnosticPosition pos,
+ Symbol location,
+ Type site,
+ Name name,
+ boolean qualified) {
+ if (sym.kind >= AMBIGUOUS)
+ return access(sym, pos, location, site, name, qualified, List.<Type>nil(), null);
+ else
+ return sym;
+ }
+
+ /** Same as original access(), but without location, type arguments and arguments.
*/
Symbol access(Symbol sym,
DiagnosticPosition pos,
Type site,
Name name,
boolean qualified) {
- if (sym.kind >= AMBIGUOUS)
- return access(sym, pos, site, name, qualified, List.<Type>nil(), null);
- else
- return sym;
+ return access(sym, pos, site.tsym, site, name, qualified);
}
/** Check that sym is not an abstract method.
@@ -1380,6 +1404,11 @@
Symbol resolveQualifiedMethod(DiagnosticPosition pos, Env<AttrContext> env,
Type site, Name name, List<Type> argtypes,
List<Type> typeargtypes) {
+ return resolveQualifiedMethod(pos, env, site.tsym, site, name, argtypes, typeargtypes);
+ }
+ Symbol resolveQualifiedMethod(DiagnosticPosition pos, Env<AttrContext> env,
+ Symbol location, Type site, Name name, List<Type> argtypes,
+ List<Type> typeargtypes) {
Symbol sym = startResolution();
List<MethodResolutionPhase> steps = methodResolutionSteps;
while (steps.nonEmpty() &&
@@ -1404,7 +1433,7 @@
MethodResolutionPhase errPhase =
firstErroneousResolutionPhase();
sym = access(methodResolutionCache.get(errPhase),
- pos, site, name, true, argtypes, typeargtypes);
+ pos, location, site, name, true, argtypes, typeargtypes);
env.info.varArgs = errPhase.isVarargsRequired;
}
} else if (allowMethodHandles && sym.isPolymorphicSignatureGeneric()) {
@@ -1471,7 +1500,7 @@
List<Type> argtypes,
List<Type> typeargtypes) {
Symbol sym = resolveQualifiedMethod(
- pos, env, site, name, argtypes, typeargtypes);
+ pos, env, site.tsym, site, name, argtypes, typeargtypes);
if (sym.kind == MTH) return (MethodSymbol)sym;
else throw new FatalError(
diags.fragment("fatal.err.cant.locate.meth",
@@ -1546,11 +1575,13 @@
null;
Symbol errSym = new ResolveError(WRONG_MTH, "diamond error") {
@Override
- JCDiagnostic getDiagnostic(DiagnosticType dkind, DiagnosticPosition pos, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes) {
+ JCDiagnostic getDiagnostic(DiagnosticType dkind, DiagnosticPosition pos,
+ Symbol location, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes) {
String key = details == null ?
"cant.apply.diamond" :
"cant.apply.diamond.1";
- return diags.create(dkind, log.currentSource(), pos, key, diags.fragment("diamond", site.tsym), details);
+ return diags.create(dkind, log.currentSource(), pos, key,
+ diags.fragment("diamond", site.tsym), details);
}
};
MethodResolutionPhase errPhase = firstErroneousResolutionPhase();
@@ -1729,17 +1760,18 @@
public void logAccessError(Env<AttrContext> env, JCTree tree, Type type) {
AccessError error = new AccessError(env, type.getEnclosingType(), type.tsym);
- logResolveError(error, tree.pos(), type.getEnclosingType(), null, null, null);
+ logResolveError(error, tree.pos(), type.getEnclosingType().tsym, type.getEnclosingType(), null, null, null);
}
//where
private void logResolveError(ResolveError error,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
List<Type> typeargtypes) {
JCDiagnostic d = error.getDiagnostic(JCDiagnostic.DiagnosticType.ERROR,
- pos, site, name, argtypes, typeargtypes);
+ pos, location, site, name, argtypes, typeargtypes);
if (d != null) {
d.setFlag(DiagnosticFlag.RESOLVE_ERROR);
log.report(d);
@@ -1809,6 +1841,7 @@
*/
abstract JCDiagnostic getDiagnostic(JCDiagnostic.DiagnosticType dkind,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
@@ -1874,6 +1907,7 @@
@Override
JCDiagnostic getDiagnostic(JCDiagnostic.DiagnosticType dkind,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
@@ -1884,16 +1918,23 @@
return null;
if (isOperator(name)) {
+ boolean isUnaryOp = argtypes.size() == 1;
+ String key = argtypes.size() == 1 ?
+ "operator.cant.be.applied" :
+ "operator.cant.be.applied.1";
+ Type first = argtypes.head;
+ Type second = !isUnaryOp ? argtypes.tail.head : null;
return diags.create(dkind, log.currentSource(), pos,
- "operator.cant.be.applied", name, argtypes);
+ key, name, first, second);
}
boolean hasLocation = false;
- if (!site.tsym.name.isEmpty()) {
- if (site.tsym.kind == PCK && !site.tsym.exists()) {
+ if (!location.name.isEmpty()) {
+ if (location.kind == PCK && !site.tsym.exists()) {
return diags.create(dkind, log.currentSource(), pos,
- "doesnt.exist", site.tsym);
+ "doesnt.exist", location);
}
- hasLocation = true;
+ hasLocation = !location.name.equals(names._this) &&
+ !location.name.equals(names._super);
}
boolean isConstructor = kind == ABSENT_MTH &&
name == names.table.names.init;
@@ -1904,7 +1945,7 @@
return diags.create(dkind, log.currentSource(), pos,
errKey, kindname, idname, //symbol kindname, name
typeargtypes, argtypes, //type parameters and arguments (if any)
- typeKindName(site), site); //location kindname, type
+ getLocationDiag(location)); //location kindname, type
}
else {
return diags.create(dkind, log.currentSource(), pos,
@@ -1925,6 +1966,16 @@
}
return key + suffix;
}
+ private JCDiagnostic getLocationDiag(Symbol location) {
+ boolean isVar = location.kind == VAR;
+ String key = isVar ?
+ "location.1" :
+ "location";
+ return diags.fragment(key,
+ kindName(location),
+ location,
+ isVar ? location.type : null);
+ }
}
/**
@@ -1965,6 +2016,7 @@
@Override
JCDiagnostic getDiagnostic(JCDiagnostic.DiagnosticType dkind,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
@@ -2016,6 +2068,7 @@
@Override
JCDiagnostic getDiagnostic(JCDiagnostic.DiagnosticType dkind,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
@@ -2031,7 +2084,7 @@
return new JCDiagnostic.MultilineDiagnostic(err, candidateDetails(site));
} else {
return new SymbolNotFoundError(ABSENT_MTH).getDiagnostic(dkind, pos,
- site, name, argtypes, typeargtypes);
+ location, site, name, argtypes, typeargtypes);
}
}
@@ -2131,6 +2184,7 @@
@Override
JCDiagnostic getDiagnostic(JCDiagnostic.DiagnosticType dkind,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
@@ -2140,7 +2194,7 @@
if (sym.name == names.init && sym.owner != site.tsym) {
return new SymbolNotFoundError(ABSENT_MTH).getDiagnostic(dkind,
- pos, site, name, argtypes, typeargtypes);
+ pos, location, site, name, argtypes, typeargtypes);
}
else if ((sym.flags() & PUBLIC) != 0
|| (env != null && this.site != null
@@ -2175,6 +2229,7 @@
@Override
JCDiagnostic getDiagnostic(JCDiagnostic.DiagnosticType dkind,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
@@ -2205,6 +2260,7 @@
@Override
JCDiagnostic getDiagnostic(JCDiagnostic.DiagnosticType dkind,
DiagnosticPosition pos,
+ Symbol location,
Type site,
Name name,
List<Type> argtypes,
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties Mon Jan 24 15:44:51 2011 +0000
@@ -112,11 +112,9 @@
compiler.err.catch.without.try=\
''catch'' without ''try''
compiler.err.clash.with.pkg.of.same.name=\
- {0} clashes with package of same name
+ {0} {1} clashes with package of same name
compiler.err.const.expr.req=\
constant expression required
-compiler.err.enum.const.req=\
- unqualified enumeration constant name required
compiler.err.cont.outside.loop=\
continue outside of loop
compiler.err.cyclic.inheritance=\
@@ -184,7 +182,9 @@
compiler.err.finally.without.try=\
''finally'' without ''try''
compiler.err.foreach.not.applicable.to.type=\
- foreach not applicable to expression type
+ for-each not applicable to expression type\n\
+ required: {1}\n\
+ found: {0}
compiler.err.fp.number.too.large=\
floating point number too large
compiler.err.fp.number.too.small=\
@@ -238,7 +238,7 @@
compiler.err.improperly.formed.type.param.missing=\
improperly formed type, some parameters are missing
compiler.err.improperly.formed.type.inner.raw.param=\
- improperly formed type, type parameters given on a raw type
+ improperly formed type, type arguments given on a raw type
compiler.err.incomparable.types=\
incomparable types: {0} and {1}
compiler.err.int.number.too.large=\
@@ -354,7 +354,11 @@
not an enclosing class: {0}
compiler.err.operator.cant.be.applied=\
- operator {0} cannot be applied to {1}
+ bad operand type {1} for unary operator ''{0}''
+compiler.err.operator.cant.be.applied.1=\
+ bad operand types for binary operator ''{0}''\n\
+ first type: {1}\n\
+ second type: {2}
compiler.err.pkg.annotations.sb.in.package-info.java=\
package annotations should be in file package-info.java
@@ -481,9 +485,10 @@
compiler.err.undef.label=\
undefined label: {0}
compiler.err.undetermined.type=\
- type parameters of {0} cannot be determined
+ cannot infer type arguments for {0}
compiler.err.undetermined.type.1=\
- type parameters of {0} cannot be determined; {1}
+ cannot infer type arguments for {0};\n\
+ reason: {1}
compiler.err.invalid.inferred.types=\
invalid inferred types for {0}; {1}
compiler.err.cant.apply.diamond=\
@@ -863,7 +868,7 @@
compiler.warn.raw.class.use=\
found raw type: {0}\n\
- missing type parameters for generic class {1}
+ missing type arguments for generic class {1}
compiler.warn.diamond.redundant.args=\
redundant type arguments in new expression (use diamond operator instead).
@@ -991,10 +996,7 @@
#####
compiler.err.not.within.bounds=\
- type parameter {0} is not within its bound
-
-compiler.err.not.within.bounds.explain=\
- type parameter {0} is not within its bound; {1}
+ type argument {0} is not within bounds of type-variable {1}
## The following are all possible strings for the second argument ({1}) of the
## above string.
@@ -1061,6 +1063,8 @@
class
compiler.misc.type.req.class.array=\
class or array
+compiler.misc.type.req.array.or.iterable=\
+ array or java.lang.Iterable
compiler.misc.type.req.ref=\
reference
compiler.misc.type.req.exact=\
@@ -1144,22 +1148,31 @@
symbol: {0} <{2}>{1}({3})
## arguments from {0} to {3} have the same meaning as above
-## The fifth argument {4} is the location "kindname" (e.g. 'constructor', 'field', etc.)
-## The sixth argument {5} is the location type
+## The fifth argument {4} is a location subdiagnostic (see below)
compiler.err.cant.resolve.location=\
cannot find symbol\n\
symbol: {0} {1}\n\
- location: {4} {5}
+ location: {4}
compiler.err.cant.resolve.location.args=\
cannot find symbol\n\
symbol: {0} {1}({3})\n\
- location: {4} {5}
+ location: {4}
compiler.err.cant.resolve.location.args.params=\
cannot find symbol\n\
symbol: {0} <{2}>{1}({3})\n\
- location: {4} {5}
+ location: {4}
+
+##a location subdiagnostic is composed as follows:
+## The first argument {0} is the location "kindname" (e.g. 'constructor', 'field', etc.)
+## The second argument {1} is the location name
+## The third argument {2} is the location type (only when {1} is a variable name)
+
+compiler.misc.location=\
+ {0} {1}
+compiler.misc.location.1=\
+ {0} {1} of type {2}
## The following are all possible string for "kindname".
## They should be called whatever the JLS calls them after it been translated
--- a/langtools/test/tools/javac/6304921/T6304921.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/6304921/T6304921.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,7 +1,7 @@
T6304921.java:29:34: compiler.warn.raw.class.use: java.util.ArrayList, java.util.ArrayList<E>
T6304921.java:29:30: compiler.warn.prob.found.req: (compiler.misc.unchecked.assign), java.util.ArrayList, java.util.List<java.lang.Integer>
- compiler.err.warnings.and.werror
-T6304921.java:35:15: compiler.err.cant.resolve.location: kindname.variable, orr, , , kindname.class, java.lang.System
-T6304921.java:38:20: compiler.err.operator.cant.be.applied: +, int,boolean
+T6304921.java:35:15: compiler.err.cant.resolve.location: kindname.variable, orr, , , (compiler.misc.location: kindname.class, java.lang.System, null)
+T6304921.java:38:20: compiler.err.operator.cant.be.applied.1: +, int, boolean
3 errors
2 warnings
--- a/langtools/test/tools/javac/6330920/T6330920.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/6330920/T6330920.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,2 +1,2 @@
-T6330920.java:11:22: compiler.err.cant.resolve.location: kindname.class, T6330920Missing, , , kindname.class, T6330920
+T6330920.java:11:22: compiler.err.cant.resolve.location: kindname.class, T6330920Missing, , , (compiler.misc.location: kindname.class, T6330920, null)
1 error
--- a/langtools/test/tools/javac/6717241/T6717241a.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/6717241/T6717241a.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,4 +1,4 @@
-T6717241a.java:13:21: compiler.err.cant.resolve: kindname.variable, v, ,
-T6717241a.java:15:10: compiler.err.cant.resolve.args: kindname.method, m1, , int,java.lang.String
-T6717241a.java:17:10: compiler.err.cant.resolve.args.params: kindname.method, m2, java.lang.Integer,java.lang.Double, int,java.lang.String
+T6717241a.java:13:21: compiler.err.cant.resolve.location: kindname.variable, v, , , (compiler.misc.location.1: kindname.variable, x, X)
+T6717241a.java:15:10: compiler.err.cant.resolve.location.args: kindname.method, m1, , int,java.lang.String, (compiler.misc.location.1: kindname.variable, x, X)
+T6717241a.java:17:10: compiler.err.cant.resolve.location.args.params: kindname.method, m2, java.lang.Integer,java.lang.Double, int,java.lang.String, (compiler.misc.location.1: kindname.variable, x, X)
3 errors
--- a/langtools/test/tools/javac/6717241/T6717241b.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/6717241/T6717241b.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,4 +1,4 @@
-T6717241b.java:12:20: compiler.err.cant.resolve.location: kindname.variable, v, , , kindname.class, T6717241b
-T6717241b.java:14:9: compiler.err.cant.resolve.location.args: kindname.method, m1, , int,java.lang.String, kindname.class, T6717241b
-T6717241b.java:16:18: compiler.err.cant.resolve.location.args.params: kindname.method, m2, java.lang.Integer,java.lang.Double, int,java.lang.String, kindname.class, T6717241b
+T6717241b.java:12:20: compiler.err.cant.resolve.location: kindname.variable, v, , , (compiler.misc.location: kindname.class, T6717241b, null)
+T6717241b.java:14:9: compiler.err.cant.resolve.location.args: kindname.method, m1, , int,java.lang.String, (compiler.misc.location: kindname.class, T6717241b, null)
+T6717241b.java:16:18: compiler.err.cant.resolve.location.args.params: kindname.method, m2, java.lang.Integer,java.lang.Double, int,java.lang.String, (compiler.misc.location: kindname.class, T6717241b, null)
3 errors
--- a/langtools/test/tools/javac/6857948/T6857948.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/6857948/T6857948.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
-T6857948.java:16:32: compiler.err.cant.resolve.location.args: kindname.method, nosuchfunction, , , kindname.class, Test
+T6857948.java:16:32: compiler.err.cant.resolve.location.args: kindname.method, nosuchfunction, , , (compiler.misc.location: kindname.class, Test, null)
T6857948.java:16:50: compiler.err.cant.apply.symbol.1: kindname.constructor, Foo, java.lang.String, compiler.misc.no.args, kindname.class, Foo, (compiler.misc.arg.length.mismatch)
2 errors
--- a/langtools/test/tools/javac/6863465/T6863465c.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/6863465/T6863465c.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
-T6863465c.java:13:47: compiler.err.cant.resolve.location: kindname.class, d, , , kindname.class, T6863465c.z
+T6863465c.java:13:47: compiler.err.cant.resolve.location: kindname.class, d, , , (compiler.misc.location: kindname.class, T6863465c.z, null)
T6863465c.java:11:12: compiler.err.cyclic.inheritance: T6863465c.z
2 errors
--- a/langtools/test/tools/javac/6863465/T6863465d.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/6863465/T6863465d.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
-T6863465d.java:13:47: compiler.err.cant.resolve.location: kindname.class, w, , , kindname.class, T6863465d.c
+T6863465d.java:13:47: compiler.err.cant.resolve.location: kindname.class, w, , , (compiler.misc.location: kindname.class, T6863465d.c, null)
T6863465d.java:11:12: compiler.err.cyclic.inheritance: T6863465d.c
2 errors
--- a/langtools/test/tools/javac/T6247324.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/T6247324.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,2 +1,2 @@
-T6247324.java:18:6: compiler.err.cant.resolve.location: kindname.class, Seetharam, , , kindname.class, Pair<X,Y>
+T6247324.java:18:6: compiler.err.cant.resolve.location: kindname.class, Seetharam, , , (compiler.misc.location: kindname.class, Pair, null)
1 error
--- a/langtools/test/tools/javac/TryWithResources/ResourceOutsideTry.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/TryWithResources/ResourceOutsideTry.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
-ResourceOutsideTry.java:14:13: compiler.err.cant.resolve.location: kindname.variable, c, , , kindname.class, ResourceOutsideTry
-ResourceOutsideTry.java:16:13: compiler.err.cant.resolve.location: kindname.variable, c, , , kindname.class, ResourceOutsideTry
+ResourceOutsideTry.java:14:13: compiler.err.cant.resolve.location: kindname.variable, c, , , (compiler.misc.location: kindname.class, ResourceOutsideTry, null)
+ResourceOutsideTry.java:16:13: compiler.err.cant.resolve.location: kindname.variable, c, , , (compiler.misc.location: kindname.class, ResourceOutsideTry, null)
2 errors
--- a/langtools/test/tools/javac/diags/examples.not-yet.txt Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples.not-yet.txt Mon Jan 24 15:44:51 2011 +0000
@@ -24,7 +24,6 @@
compiler.err.no.encl.instance.of.type.in.scope # cannot occur; always followed by assert false;
compiler.err.no.match.entry # UNUSED?
compiler.err.not.annotation.type # cannot occur given preceding checkType
-compiler.err.not.within.bounds.explain # UNUSED?
compiler.err.prob.found.req.1 # Check: DEAD, in unused method
compiler.err.proc.bad.config.file # JavacProcessingEnvironment
compiler.err.proc.cant.access # completion failure
--- a/langtools/test/tools/javac/diags/examples/CantResolve.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/CantResolve.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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,9 +23,8 @@
// key: compiler.err.cant.resolve
-class CantResolve<T extends Object & java.io.Serializable> {
- T t;
- void m() {
- Object o = t.v;
- }
+class CantResolve {
+ Object o = new Object() {
+ int i = f;
+ };
}
--- a/langtools/test/tools/javac/diags/examples/CantResolveArgsParams.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/CantResolveArgsParams.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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,9 +23,8 @@
// key: compiler.err.cant.resolve.args.params
-class CantResolveArgsParams<T extends Object & java.io.Serializable> {
- T t;
- void m() {
- t.<Integer,Double>m2(1, "");
- }
+class CantResolveArgsParams {
+ Object o = new Object() {
+ { this.<Integer,Double>m2(1, ""); }
+ };
}
--- a/langtools/test/tools/javac/diags/examples/CantResolveLocation.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/CantResolveLocation.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -22,6 +22,7 @@
*/
// key: compiler.err.cant.resolve.location
+// key: compiler.misc.location
class CantResolveLocation {
Unknown y;
--- a/langtools/test/tools/javac/diags/examples/CantResolveLocationArgs.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/CantResolveLocationArgs.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -22,6 +22,7 @@
*/
// key: compiler.err.cant.resolve.location.args
+// key: compiler.misc.location
class X {
void m() {
--- a/langtools/test/tools/javac/diags/examples/CantResolveLocationArgsParams.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/CantResolveLocationArgsParams.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -22,6 +22,7 @@
*/
// key: compiler.err.cant.resolve.location.args.params
+// key: compiler.misc.location
import java.util.*;
--- a/langtools/test/tools/javac/diags/examples/EnumConstRequired.java Mon Jan 24 15:44:15 2011 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-// key: compiler.err.enum.const.req
-
-class EnumConstRequired {
- enum E { A, B, C };
-
- void m(E e) {
- switch (e) {
- case e:
- System.err.println("It's me!");
- }
- }
-}
--- a/langtools/test/tools/javac/diags/examples/ForeachNotApplicable.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/ForeachNotApplicable.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -22,6 +22,7 @@
*/
// key: compiler.err.foreach.not.applicable.to.type
+// key: compiler.misc.type.req.array.or.iterable
class ForeachNotApplicable {
void m(String arg) {
--- a/langtools/test/tools/javac/diags/examples/KindnameClass.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/KindnameClass.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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,6 +23,7 @@
// key: compiler.misc.kindname.class
// key: compiler.err.cant.resolve.location
+// key: compiler.misc.location
// key: compiler.misc.count.error
// run: backdoor
--- a/langtools/test/tools/javac/diags/examples/KindnameMethod.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/KindnameMethod.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -24,6 +24,7 @@
// key: compiler.misc.kindname.method
// key: compiler.misc.kindname.class
// key: compiler.err.cant.resolve.location.args
+// key: compiler.misc.location
// key: compiler.misc.count.error
// run: backdoor
--- a/langtools/test/tools/javac/diags/examples/KindnameVariable.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/KindnameVariable.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -24,6 +24,7 @@
// key: compiler.misc.kindname.variable
// key: compiler.misc.kindname.class
// key: compiler.err.cant.resolve.location
+// key: compiler.misc.location
// key: compiler.misc.count.error
// run: backdoor
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/Location.java Mon Jan 24 15:44:51 2011 +0000
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.cant.resolve.location
+// key: compiler.misc.location
+
+class Location {
+ { Object o = v; }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/Location1.java Mon Jan 24 15:44:51 2011 +0000
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.cant.resolve.location
+// key: compiler.misc.location.1
+
+class Location1 {
+ Object o = null;
+ { Object o2 = o.v; }
+}
--- a/langtools/test/tools/javac/diags/examples/OperatorCantBeApplied.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/OperatorCantBeApplied.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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
@@ -24,5 +24,6 @@
// key: compiler.err.operator.cant.be.applied
class OperatorCantBeApplied {
- String s = ("a" - "b");
+ String s = null;
+ { s++; }
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/diags/examples/OperatorCantBeApplied1.java Mon Jan 24 15:44:51 2011 +0000
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// key: compiler.err.operator.cant.be.applied.1
+
+class OperatorCantBeApplied1 {
+ String s = ("a" - "b");
+}
--- a/langtools/test/tools/javac/diags/examples/StaticImportOnlyClassesAndInterfaces/StaticImportOnlyClassesAndInterfaces.java Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/diags/examples/StaticImportOnlyClassesAndInterfaces/StaticImportOnlyClassesAndInterfaces.java Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2011, 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,6 +23,7 @@
// key: compiler.err.static.imp.only.classes.and.interfaces
// key: compiler.err.cant.resolve.location
+// key: compiler.misc.location
import static p.Other.array.length;
--- a/langtools/test/tools/javac/failover/FailOver01.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/failover/FailOver01.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
FailOver01.java:10:22: compiler.err.expected: ';'
-FailOver01.java:10:16: compiler.err.cant.resolve.location: kindname.variable, x, , , kindname.class, Test
+FailOver01.java:10:16: compiler.err.cant.resolve.location: kindname.variable, x, , , (compiler.misc.location: kindname.class, Test, null)
2 errors
--- a/langtools/test/tools/javac/failover/FailOver02.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/failover/FailOver02.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
FailOver02.java:10:1: compiler.err.does.not.override.abstract: Test, close(), java.lang.AutoCloseable
-FailOver02.java:12:9: compiler.err.cant.resolve.location.args: kindname.method, close, , , kindname.class, Test
+FailOver02.java:12:9: compiler.err.cant.resolve.location.args: kindname.method, close, , , (compiler.misc.location: kindname.class, Test, null)
2 errors
--- a/langtools/test/tools/javac/failover/FailOver04.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/failover/FailOver04.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,2 +1,2 @@
-FailOver04.java:11:10: compiler.err.cant.resolve.location: kindname.class, Unknown, , , kindname.class, Test
+FailOver04.java:11:10: compiler.err.cant.resolve.location: kindname.class, Unknown, , , (compiler.misc.location: kindname.class, Test, null)
1 error
--- a/langtools/test/tools/javac/generics/6711619/T6711619a.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/6711619/T6711619a.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,5 +1,5 @@
-T6711619a.java:40:14: compiler.err.cant.resolve.args: kindname.method, a, ,
-T6711619a.java:41:14: compiler.err.cant.resolve.args: kindname.method, b, ,
+T6711619a.java:40:14: compiler.err.cant.resolve.location.args: kindname.method, a, , , (compiler.misc.location.1: kindname.variable, t, T)
+T6711619a.java:41:14: compiler.err.cant.resolve.location.args: kindname.method, b, , , (compiler.misc.location.1: kindname.variable, t, T)
T6711619a.java:46:19: compiler.err.report.access: a, private, T6711619a.A
T6711619a.java:47:19: compiler.err.report.access: b, private, T6711619a.B
T6711619a.java:48:19: compiler.err.report.access: a, private, T6711619a.A
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg01.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg01.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,29 +1,29 @@
-Neg01.java:18:15: compiler.err.not.within.bounds: java.lang.String
+Neg01.java:18:15: compiler.err.not.within.bounds: java.lang.String, X
Neg01.java:18:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:19:15: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:19:15: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg01.java:19:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
Neg01.java:20:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:21:15: compiler.err.not.within.bounds: ? super java.lang.String
+Neg01.java:21:15: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg01.java:21:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:23:15: compiler.err.not.within.bounds: java.lang.String
+Neg01.java:23:15: compiler.err.not.within.bounds: java.lang.String, X
Neg01.java:23:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:24:15: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:24:15: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg01.java:24:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
Neg01.java:25:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:26:15: compiler.err.not.within.bounds: ? super java.lang.String
+Neg01.java:26:15: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg01.java:26:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:28:15: compiler.err.not.within.bounds: java.lang.String
+Neg01.java:28:15: compiler.err.not.within.bounds: java.lang.String, X
Neg01.java:28:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:29:15: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:29:15: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg01.java:29:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
Neg01.java:30:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:31:9: compiler.err.cant.resolve.location: kindname.class, Foo, , , kindname.class, Neg01<X>
+Neg01.java:31:9: compiler.err.cant.resolve.location: kindname.class, Foo, , , (compiler.misc.location: kindname.class, Neg01, null)
Neg01.java:31:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:33:15: compiler.err.not.within.bounds: java.lang.String
+Neg01.java:33:15: compiler.err.not.within.bounds: java.lang.String, X
Neg01.java:33:29: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:34:15: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:34:15: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg01.java:34:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
Neg01.java:35:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
-Neg01.java:36:15: compiler.err.not.within.bounds: ? super java.lang.String
+Neg01.java:36:15: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg01.java:36:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg01), null
28 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg02.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg02.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,57 +1,57 @@
-Neg02.java:19:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:19:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:19:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:20:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:21:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:22:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:24:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:24:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:24:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:25:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:26:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:27:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:29:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:29:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:29:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:30:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:31:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:32:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:34:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:34:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:34:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:35:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:36:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:37:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:41:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:41:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:41:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:42:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:43:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:44:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:46:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:46:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:46:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:47:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:48:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:49:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:51:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:51:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:51:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:52:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:53:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:54:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:56:13: compiler.err.not.within.bounds: java.lang.String
+Neg02.java:56:13: compiler.err.not.within.bounds: java.lang.String, X
Neg02.java:56:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String, X
Neg02.java:57:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
Neg02.java:58:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
-Neg02.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String, X
Neg02.java:59:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg02.Foo), null
56 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg03.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg03.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,85 +1,85 @@
-Neg03.java:19:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:19:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:19:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:20:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:21:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:22:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:24:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:24:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:24:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:25:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:26:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:27:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:29:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:29:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:29:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:30:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:31:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:32:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:34:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:34:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:34:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:35:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:36:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:37:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:41:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:41:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:41:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:42:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:43:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:44:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:46:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:46:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:46:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:47:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:48:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:49:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:51:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:51:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:51:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:52:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:53:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:54:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:56:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:56:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:56:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:57:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:58:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:59:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:63:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:63:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:63:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:64:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:64:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:64:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:65:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:66:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:66:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:66:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:68:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:68:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:68:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:69:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:69:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:69:38: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:70:23: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:71:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:71:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:71:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:73:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:73:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:73:28: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:74:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:74:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:74:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:75:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:76:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:76:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:76:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:78:13: compiler.err.not.within.bounds: java.lang.String
+Neg03.java:78:13: compiler.err.not.within.bounds: java.lang.String, V
Neg03.java:78:29: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:79:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:79:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg03.java:79:39: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
Neg03.java:80:24: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
-Neg03.java:81:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:81:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg03.java:81:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Neg03.Foo), null
84 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg04.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg04.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,29 +1,29 @@
-Neg04.java:18:13: compiler.err.not.within.bounds: java.lang.String
+Neg04.java:18:13: compiler.err.not.within.bounds: java.lang.String, V
Neg04.java:18:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:19:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:19:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg04.java:19:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
Neg04.java:20:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:21:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:21:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg04.java:21:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:23:13: compiler.err.not.within.bounds: java.lang.String
+Neg04.java:23:13: compiler.err.not.within.bounds: java.lang.String, V
Neg04.java:23:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:24:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:24:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg04.java:24:36: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
Neg04.java:25:21: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:26:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:26:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg04.java:26:34: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:28:13: compiler.err.not.within.bounds: java.lang.String
+Neg04.java:28:13: compiler.err.not.within.bounds: java.lang.String, V
Neg04.java:28:26: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:29:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:29:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg04.java:29:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
Neg04.java:30:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:31:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:31:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg04.java:31:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:33:13: compiler.err.not.within.bounds: java.lang.String
+Neg04.java:33:13: compiler.err.not.within.bounds: java.lang.String, V
Neg04.java:33:27: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:34:13: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:34:13: compiler.err.not.within.bounds: ? extends java.lang.String, V
Neg04.java:34:37: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
Neg04.java:35:22: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
-Neg04.java:36:13: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:36:13: compiler.err.not.within.bounds: ? super java.lang.String, V
Neg04.java:36:35: compiler.err.cant.apply.diamond: (compiler.misc.diamond: Foo), null
28 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg11.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg11.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
-Neg11.java:15:25: compiler.err.cant.resolve.location: kindname.class, UndeclaredName, , , kindname.class, Neg11
-Neg11.java:16:25: compiler.err.cant.resolve.location: kindname.class, UndeclaredName, , , kindname.class, Neg11
+Neg11.java:15:25: compiler.err.cant.resolve.location: kindname.class, UndeclaredName, , , (compiler.misc.location: kindname.class, Neg11, null)
+Neg11.java:16:25: compiler.err.cant.resolve.location: kindname.class, UndeclaredName, , , (compiler.misc.location: kindname.class, Neg11, null)
2 errors
--- a/langtools/test/tools/javac/generics/inference/6943278/T6943278.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/inference/6943278/T6943278.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,3 +1,3 @@
T6943278.java:7:35: compiler.err.cant.resolve: kindname.class, NonExistentInterface, ,
-T6943278.java:9:25: compiler.err.cant.resolve.location: kindname.class, NonExistentInterface, , , kindname.class, T6943278<X>
+T6943278.java:9:25: compiler.err.cant.resolve.location: kindname.class, NonExistentInterface, , , (compiler.misc.location: kindname.class, T6943278, null)
2 errors
--- a/langtools/test/tools/javac/generics/typevars/5060485/Compatibility.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/typevars/5060485/Compatibility.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,2 +1,2 @@
-Compatibility.java:36:35: compiler.err.not.within.bounds: Test.Y
+Compatibility.java:36:35: compiler.err.not.within.bounds: Test.Y, T
1 error
--- a/langtools/test/tools/javac/generics/typevars/5060485/Compatibility02.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/generics/typevars/5060485/Compatibility02.out Mon Jan 24 15:44:51 2011 +0000
@@ -1,2 +1,2 @@
-Compatibility.java:36:35: compiler.err.not.within.bounds: Test.Y
+Compatibility.java:36:35: compiler.err.not.within.bounds: Test.Y, T
1 error
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/typevars/6968793/T6968793.java Mon Jan 24 15:44:51 2011 +0000
@@ -0,0 +1,11 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 6968793
+ * @summary javac generates spourious diagnostics for ill-formed type-variable bounds
+ * @author mcimadamore
+ * @compile/fail/ref=T6968793.out -XDrawDiagnostics T6968793.java
+ */
+
+class T6968793<X extends Number, Y extends X, Z extends Object & Comparable<Y>> {
+ T6968793<Object, Object, Object> o;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/generics/typevars/6968793/T6968793.out Mon Jan 24 15:44:51 2011 +0000
@@ -0,0 +1,4 @@
+T6968793.java:10:14: compiler.err.not.within.bounds: java.lang.Object, X
+T6968793.java:10:22: compiler.err.not.within.bounds: java.lang.Object, Y
+T6968793.java:10:30: compiler.err.not.within.bounds: java.lang.Object, Z
+3 errors
--- a/langtools/test/tools/javac/policy/test1/byfile.ABD.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/policy/test1/byfile.ABD.out Mon Jan 24 15:44:51 2011 +0000
@@ -12,6 +12,6 @@
[generate code A2]
[attribute B]
[attribute B1]
-B.java:12:9: compiler.err.cant.resolve.location: kindname.variable, x, , , kindname.class, B1
+B.java:12:9: compiler.err.cant.resolve.location: kindname.variable, x, , , (compiler.misc.location: kindname.class, B1, null)
[attribute B2]
1 error
--- a/langtools/test/tools/javac/policy/test1/bytodo.ABD.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/policy/test1/bytodo.ABD.out Mon Jan 24 15:44:51 2011 +0000
@@ -15,7 +15,7 @@
[desugar B]
[generate code B]
[attribute B1]
-B.java:12:9: compiler.err.cant.resolve.location: kindname.variable, x, , , kindname.class, B1
+B.java:12:9: compiler.err.cant.resolve.location: kindname.variable, x, , , (compiler.misc.location: kindname.class, B1, null)
[attribute B2]
[attribute D]
[attribute D1]
--- a/langtools/test/tools/javac/policy/test1/simple.ABD.out Mon Jan 24 15:44:15 2011 +0000
+++ b/langtools/test/tools/javac/policy/test1/simple.ABD.out Mon Jan 24 15:44:51 2011 +0000
@@ -3,7 +3,7 @@
[attribute A2]
[attribute B]
[attribute B1]
-B.java:12:9: compiler.err.cant.resolve.location: kindname.variable, x, , , kindname.class, B1
+B.java:12:9: compiler.err.cant.resolve.location: kindname.variable, x, , , (compiler.misc.location: kindname.class, B1, null)
[attribute B2]
[attribute D]
[attribute D1]