< prev index next >

src/jdk.jshell/share/classes/jdk/jshell/TypePrinter.java

Print this page




  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.jshell;
  27 
  28 import static com.sun.tools.javac.code.Flags.COMPOUND;
  29 import static com.sun.tools.javac.code.Kinds.Kind.PCK;
  30 import com.sun.tools.javac.code.Printer;
  31 import com.sun.tools.javac.code.Symbol;
  32 import com.sun.tools.javac.code.Symbol.ClassSymbol;
  33 import com.sun.tools.javac.code.Symbol.PackageSymbol;
  34 import com.sun.tools.javac.code.Type;
  35 import com.sun.tools.javac.code.Type.ClassType;
  36 import com.sun.tools.javac.util.JavacMessages;
  37 import java.util.Locale;
  38 import java.util.function.BinaryOperator;
  39 



  40 /**
  41  * Print types in source form.
  42  */
  43 class TypePrinter extends Printer {
  44     private static final String OBJECT = "Object";
  45 






  46     private final JavacMessages messages;
  47     private final BinaryOperator<String> fullClassNameAndPackageToClass;
  48     private boolean useWildCard = false;
  49 
  50     TypePrinter(JavacMessages messages, BinaryOperator<String> fullClassNameAndPackageToClass, Type typeToPrint) {
  51         this.messages = messages;
  52         this.fullClassNameAndPackageToClass = fullClassNameAndPackageToClass;
  53     }
  54 
  55     @Override
  56     protected String localize(Locale locale, String key, Object... args) {
  57         return messages.getLocalizedString(locale, key, args);
  58     }
  59 
  60     @Override
  61     protected String capturedVarId(Type.CapturedType t, Locale locale) {
  62         throw new InternalError("should never call this");
  63     }
  64 
  65     @Override




  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.jshell;
  27 
  28 import static com.sun.tools.javac.code.Flags.COMPOUND;
  29 import static com.sun.tools.javac.code.Kinds.Kind.PCK;
  30 import com.sun.tools.javac.code.Printer;
  31 import com.sun.tools.javac.code.Symbol;
  32 import com.sun.tools.javac.code.Symbol.ClassSymbol;
  33 import com.sun.tools.javac.code.Symbol.PackageSymbol;
  34 import com.sun.tools.javac.code.Type;
  35 import com.sun.tools.javac.code.Type.ClassType;
  36 import com.sun.tools.javac.util.JavacMessages;
  37 import java.util.Locale;
  38 import java.util.function.BinaryOperator;
  39 
  40 import javax.lang.model.type.TypeMirror;
  41 import jdk.jshell.TaskFactory.AnalyzeTask;
  42 
  43 /**
  44  * Print types in source form.
  45  */
  46 class TypePrinter extends Printer {
  47     private static final String OBJECT = "Object";
  48 
  49     public static String printType(AnalyzeTask at, JShell state, TypeMirror type) {
  50         Type typeImpl = (Type) type;
  51         TypePrinter tp = new TypePrinter(at.messages(), state.maps::fullClassNameAndPackageToClass, typeImpl);
  52         return tp.visit(typeImpl, Locale.getDefault());
  53     }
  54 
  55     private final JavacMessages messages;
  56     private final BinaryOperator<String> fullClassNameAndPackageToClass;
  57     private boolean useWildCard = false;
  58 
  59     TypePrinter(JavacMessages messages, BinaryOperator<String> fullClassNameAndPackageToClass, Type typeToPrint) {
  60         this.messages = messages;
  61         this.fullClassNameAndPackageToClass = fullClassNameAndPackageToClass;
  62     }
  63 
  64     @Override
  65     protected String localize(Locale locale, String key, Object... args) {
  66         return messages.getLocalizedString(locale, key, args);
  67     }
  68 
  69     @Override
  70     protected String capturedVarId(Type.CapturedType t, Locale locale) {
  71         throw new InternalError("should never call this");
  72     }
  73 
  74     @Override


< prev index next >