< prev index next >

test/tools/javac/lib/DPrinter.java

Print this page




 460     }
 461 
 462     public void printSymbol(String label, Symbol symbol) {
 463         printSymbol(label, symbol, Details.FULL);
 464     }
 465 
 466     protected void printSymbol(String label, Symbol sym, Details details) {
 467         if (sym == null) {
 468             printNull(label);
 469         } else {
 470             switch (details) {
 471             case SUMMARY:
 472                 printString(label, toString(sym));
 473                 break;
 474 
 475             case FULL:
 476                 indent();
 477                 out.print(label);
 478                 out.println(": " +
 479                         info(sym.getClass(),
 480                             String.format("0x%x--%s", sym.kind, Kinds.kindName(sym)),
 481                             sym.getKind())
 482                         + " " + sym.name
 483                         + " " + hashString(sym));
 484 
 485                 indent(+1);
 486                 if (showSrc) {
 487                     JCTree tree = (JCTree) trees.getTree(sym);
 488                     if (tree != null)
 489                         printSource("src", tree);
 490                 }
 491                 printString("flags", String.format("0x%x--%s",
 492                         sym.flags_field, Flags.toString(sym.flags_field)));
 493                 printObject("completer", sym.completer, Details.SUMMARY); // what if too long?
 494                 printSymbol("owner", sym.owner, Details.SUMMARY);
 495                 printType("type", sym.type, Details.SUMMARY);
 496                 printType("erasure", sym.erasure_field, Details.SUMMARY);
 497                 sym.accept(symVisitor, null);
 498                 printAnnotations("annotations", sym.getMetadata(), Details.SUMMARY);
 499                 indent(-1);
 500             }




 460     }
 461 
 462     public void printSymbol(String label, Symbol symbol) {
 463         printSymbol(label, symbol, Details.FULL);
 464     }
 465 
 466     protected void printSymbol(String label, Symbol sym, Details details) {
 467         if (sym == null) {
 468             printNull(label);
 469         } else {
 470             switch (details) {
 471             case SUMMARY:
 472                 printString(label, toString(sym));
 473                 break;
 474 
 475             case FULL:
 476                 indent();
 477                 out.print(label);
 478                 out.println(": " +
 479                         info(sym.getClass(),
 480                             String.format("0x%x--%s", sym.kind.ordinal(), Kinds.kindName(sym)),
 481                             sym.getKind())
 482                         + " " + sym.name
 483                         + " " + hashString(sym));
 484 
 485                 indent(+1);
 486                 if (showSrc) {
 487                     JCTree tree = (JCTree) trees.getTree(sym);
 488                     if (tree != null)
 489                         printSource("src", tree);
 490                 }
 491                 printString("flags", String.format("0x%x--%s",
 492                         sym.flags_field, Flags.toString(sym.flags_field)));
 493                 printObject("completer", sym.completer, Details.SUMMARY); // what if too long?
 494                 printSymbol("owner", sym.owner, Details.SUMMARY);
 495                 printType("type", sym.type, Details.SUMMARY);
 496                 printType("erasure", sym.erasure_field, Details.SUMMARY);
 497                 sym.accept(symVisitor, null);
 498                 printAnnotations("annotations", sym.getMetadata(), Details.SUMMARY);
 499                 indent(-1);
 500             }


< prev index next >