langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/RichDiagnosticFormatter.java
changeset 45504 ea7475564d07
parent 42828 cce89649f958
equal deleted inserted replaced
45503:d23ae2d67a5d 45504:ea7475564d07
    38 import com.sun.tools.javac.code.Symbol.*;
    38 import com.sun.tools.javac.code.Symbol.*;
    39 import com.sun.tools.javac.code.Symtab;
    39 import com.sun.tools.javac.code.Symtab;
    40 import com.sun.tools.javac.code.Type;
    40 import com.sun.tools.javac.code.Type;
    41 import com.sun.tools.javac.code.Type.*;
    41 import com.sun.tools.javac.code.Type.*;
    42 import com.sun.tools.javac.code.Types;
    42 import com.sun.tools.javac.code.Types;
       
    43 import com.sun.tools.javac.resources.CompilerProperties.Fragments;
    43 
    44 
    44 import static com.sun.tools.javac.code.Flags.*;
    45 import static com.sun.tools.javac.code.Flags.*;
    45 import static com.sun.tools.javac.code.TypeTag.*;
    46 import static com.sun.tools.javac.code.TypeTag.*;
    46 import static com.sun.tools.javac.code.Kinds.*;
    47 import static com.sun.tools.javac.code.Kinds.*;
    47 import static com.sun.tools.javac.code.Kinds.Kind.*;
    48 import static com.sun.tools.javac.code.Kinds.Kind.*;
   518         public Void visitClassType(ClassType t, Void ignored) {
   519         public Void visitClassType(ClassType t, Void ignored) {
   519             if (t.isCompound()) {
   520             if (t.isCompound()) {
   520                 if (indexOf(t, WhereClauseKind.INTERSECTION) == -1) {
   521                 if (indexOf(t, WhereClauseKind.INTERSECTION) == -1) {
   521                     Type supertype = types.supertype(t);
   522                     Type supertype = types.supertype(t);
   522                     List<Type> interfaces = types.interfaces(t);
   523                     List<Type> interfaces = types.interfaces(t);
   523                     JCDiagnostic d = diags.fragment("where.intersection", t, interfaces.prepend(supertype));
   524                     JCDiagnostic d = diags.fragment(Fragments.WhereIntersection(t, interfaces.prepend(supertype)));
   524                     whereClauses.get(WhereClauseKind.INTERSECTION).put(t, d);
   525                     whereClauses.get(WhereClauseKind.INTERSECTION).put(t, d);
   525                     visit(supertype);
   526                     visit(supertype);
   526                     visit(interfaces);
   527                     visit(interfaces);
   527                 }
   528                 }
   528             } else if (t.tsym.name.isEmpty()) {
   529             } else if (t.tsym.name.isEmpty()) {
   573                     symbolPreprocessor.visit(t.tsym.location(), null);
   574                     symbolPreprocessor.visit(t.tsym.location(), null);
   574                     visit(bounds);
   575                     visit(bounds);
   575                 } else {
   576                 } else {
   576                     Assert.check(!boundErroneous);
   577                     Assert.check(!boundErroneous);
   577                     //this is a fresh (synthetic) tvar
   578                     //this is a fresh (synthetic) tvar
   578                     JCDiagnostic d = diags.fragment("where.fresh.typevar", t, bounds);
   579                     JCDiagnostic d = diags.fragment(Fragments.WhereFreshTypevar(t, bounds));
   579                     whereClauses.get(WhereClauseKind.TYPEVAR).put(t, d);
   580                     whereClauses.get(WhereClauseKind.TYPEVAR).put(t, d);
   580                     visit(bounds);
   581                     visit(bounds);
   581                 }
   582                 }
   582 
   583 
   583             }
   584             }