78 import javax.swing.JPanel;
79 import javax.swing.JScrollPane;
80 import javax.swing.JTextArea;
81 import javax.swing.JTextField;
82 import javax.swing.SwingUtilities;
83 import javax.swing.event.CaretEvent;
84 import javax.swing.event.CaretListener;
85 import javax.swing.text.BadLocationException;
86 import javax.swing.text.DefaultHighlighter;
87 import javax.swing.text.Highlighter;
88 import javax.tools.JavaFileObject;
89
90 import com.sun.source.tree.CompilationUnitTree;
91 import com.sun.source.util.TaskEvent;
92 import com.sun.source.util.TaskEvent.Kind;
93 import com.sun.source.util.TaskListener;
94 import com.sun.tools.javac.code.Symbol;
95 import com.sun.tools.javac.code.Type;
96 import com.sun.tools.javac.tree.EndPosTable;
97 import com.sun.tools.javac.tree.JCTree;
98 import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
99 import com.sun.tools.javac.tree.JCTree.JCImport;
100 import com.sun.tools.javac.tree.TreeInfo;
101 import com.sun.tools.javac.tree.TreeScanner;
102 import com.sun.tools.javac.util.Pair;
103
104 import static com.sun.tools.javac.tree.JCTree.Tag.*;
105
106 import combo.ComboTestHelper;
107 import combo.ComboInstance;
108 import combo.ComboTestHelper.IgnoreMode;
109
110 /**
111 * Utility and test program to check validity of tree positions for tree nodes.
112 * The program can be run standalone, or as a jtreg test. In standalone mode,
113 * errors can be displayed in a gui viewer. For info on command line args,
114 * run program with no args.
115 *
116 * <p>
117 * jtreg: Note that by using the -r switch in the test description below, this test
427 for (Field f : fieldsToCheck) {
428 try {
429 if (f.get(t) == null) {
430 return f;
431 }
432 }
433 catch (IllegalAccessException e) {
434 System.err.println("Cannot read field: " + f);
435 //swallow it
436 }
437 }
438 return null;
439 }
440
441 @Override
442 public void visitImport(JCImport tree) { }
443
444 @Override
445 public void visitTopLevel(JCCompilationUnit tree) {
446 scan(tree.defs);
447 }
448
449 JavaFileObject sourcefile;
450 EndPosTable endPosTable;
451 Info encl;
452 }
453 }
454
455 // See CR: 6982992 Tests CheckAttributedTree.java, JavacTreeScannerTest.java, and SourceTreeeScannerTest.java timeout
456 StringWriter sw = new StringWriter();
457 PrintWriter pw = new PrintWriter(sw);
458
459 StringWriter errSWriter = new StringWriter();
460 PrintWriter errWriter = new PrintWriter(errSWriter);
461
462 /** Flag: don't report irrelevant files. */
463 boolean quiet;
464 /** Flag: show errors in GUI viewer. */
465 boolean gui;
466 /** The GUI viewer for errors. */
|
78 import javax.swing.JPanel;
79 import javax.swing.JScrollPane;
80 import javax.swing.JTextArea;
81 import javax.swing.JTextField;
82 import javax.swing.SwingUtilities;
83 import javax.swing.event.CaretEvent;
84 import javax.swing.event.CaretListener;
85 import javax.swing.text.BadLocationException;
86 import javax.swing.text.DefaultHighlighter;
87 import javax.swing.text.Highlighter;
88 import javax.tools.JavaFileObject;
89
90 import com.sun.source.tree.CompilationUnitTree;
91 import com.sun.source.util.TaskEvent;
92 import com.sun.source.util.TaskEvent.Kind;
93 import com.sun.source.util.TaskListener;
94 import com.sun.tools.javac.code.Symbol;
95 import com.sun.tools.javac.code.Type;
96 import com.sun.tools.javac.tree.EndPosTable;
97 import com.sun.tools.javac.tree.JCTree;
98 import com.sun.tools.javac.tree.JCTree.JCBreak;
99 import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
100 import com.sun.tools.javac.tree.JCTree.JCImport;
101 import com.sun.tools.javac.tree.TreeInfo;
102 import com.sun.tools.javac.tree.TreeScanner;
103 import com.sun.tools.javac.util.Pair;
104
105 import static com.sun.tools.javac.tree.JCTree.Tag.*;
106
107 import combo.ComboTestHelper;
108 import combo.ComboInstance;
109 import combo.ComboTestHelper.IgnoreMode;
110
111 /**
112 * Utility and test program to check validity of tree positions for tree nodes.
113 * The program can be run standalone, or as a jtreg test. In standalone mode,
114 * errors can be displayed in a gui viewer. For info on command line args,
115 * run program with no args.
116 *
117 * <p>
118 * jtreg: Note that by using the -r switch in the test description below, this test
428 for (Field f : fieldsToCheck) {
429 try {
430 if (f.get(t) == null) {
431 return f;
432 }
433 }
434 catch (IllegalAccessException e) {
435 System.err.println("Cannot read field: " + f);
436 //swallow it
437 }
438 }
439 return null;
440 }
441
442 @Override
443 public void visitImport(JCImport tree) { }
444
445 @Override
446 public void visitTopLevel(JCCompilationUnit tree) {
447 scan(tree.defs);
448 }
449
450 @Override
451 public void visitBreak(JCBreak tree) {
452 if (tree.isValueBreak())
453 super.visitBreak(tree);
454 }
455
456 JavaFileObject sourcefile;
457 EndPosTable endPosTable;
458 Info encl;
459 }
460 }
461
462 // See CR: 6982992 Tests CheckAttributedTree.java, JavacTreeScannerTest.java, and SourceTreeeScannerTest.java timeout
463 StringWriter sw = new StringWriter();
464 PrintWriter pw = new PrintWriter(sw);
465
466 StringWriter errSWriter = new StringWriter();
467 PrintWriter errWriter = new PrintWriter(errSWriter);
468
469 /** Flag: don't report irrelevant files. */
470 boolean quiet;
471 /** Flag: show errors in GUI viewer. */
472 boolean gui;
473 /** The GUI viewer for errors. */
|