mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
6864382: NPE in the rich formatter when processing an unattributed type-variable
Unattributed type variable should not be accessed by the rich formatter when emitting where clauses Reviewed-by: jjg
This commit is contained in:
parent
25497fcea7
commit
fe1aaa8154
3 changed files with 41 additions and 1 deletions
|
@ -524,10 +524,16 @@ public class RichDiagnosticFormatter extends
|
|||
@Override
|
||||
public Void visitTypeVar(TypeVar t, Void ignored) {
|
||||
if (indexOf(t, WhereClauseKind.TYPEVAR) == -1) {
|
||||
//access the bound type and skip error types
|
||||
Type bound = t.bound;
|
||||
while ((bound instanceof ErrorType))
|
||||
bound = ((ErrorType)bound).getOriginalType();
|
||||
List<Type> bounds = types.getBounds(t);
|
||||
//retrieve the bound list - if the type variable
|
||||
//has not been attributed the bound is not set
|
||||
List<Type> bounds = bound != null ?
|
||||
types.getBounds(t) :
|
||||
List.<Type>nil();
|
||||
|
||||
nameSimplifier.addUsage(t.tsym);
|
||||
|
||||
boolean boundErroneous = bounds.head == null ||
|
||||
|
|
32
langtools/test/tools/javac/Diagnostics/6864382/T6864382.java
Normal file
32
langtools/test/tools/javac/Diagnostics/6864382/T6864382.java
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* Copyright 2009 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||
* CA 95054 USA or visit www.sun.com if you need additional information or
|
||||
* have any questions.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @test
|
||||
* @bug 6864382
|
||||
* @summary NullPointerException when compiling a negative java source
|
||||
* @author mcimadamore
|
||||
* @compile/fail/ref=T6864382.out -XDrawDiagnostics T6864382.java
|
||||
*/
|
||||
|
||||
class T6864382<T> extends T {}
|
|
@ -0,0 +1,2 @@
|
|||
T6864382.java:32:27: compiler.err.type.found.req: (compiler.misc.type.parameter: T), (compiler.misc.type.req.class)
|
||||
1 error
|
Loading…
Add table
Add a link
Reference in a new issue