comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Visualizer.java @ 15450:be0c151d912b

Truffle/Instrumentation: API revisions
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Tue, 29 Apr 2014 12:05:58 -0700
parents 0c6d8a08e31b
children bb9473723904
comparison
equal deleted inserted replaced
15281:041156bb59b2 15450:be0c151d912b
22 * or visit www.oracle.com if you need additional information or have any 22 * or visit www.oracle.com if you need additional information or have any
23 * questions. 23 * questions.
24 */ 24 */
25 package com.oracle.truffle.api.instrument; 25 package com.oracle.truffle.api.instrument;
26 26
27 import com.oracle.truffle.api.*;
27 import com.oracle.truffle.api.frame.*; 28 import com.oracle.truffle.api.frame.*;
29 import com.oracle.truffle.api.nodes.*;
28 30
29 /** 31 /**
30 * Visualization services for guest language and Truffle information. 32 * Visualization services for the benefit of {@link Instrumentation}-based tools, possibly
33 * specialized for each guest language and possibly specialized for relevant information from the
34 * underlying Truffle implementation.
35 * <p>
36 * <strong>Disclaimer:</strong> experimental interface under development.
37 *
38 * @See Instrumentation
31 */ 39 */
32 public interface Visualizer { 40 public interface Visualizer {
33 41
34 /** 42 /**
35 * Gets a printer for Truffle ASTs, possibly specialized to be helpful for a specific guest 43 * Gets a printer for Truffle ASTs, possibly specialized to be helpful for a specific guest
36 * language implementation. 44 * language implementation.
37 */ 45 */
38 ASTPrinter getASTPrinter(); 46 ASTPrinter getASTPrinter();
47
48 /**
49 * A short description of a source location in terms of source + line number.
50 */
51 String displaySourceLocation(Node node);
52
53 /**
54 * Describes the name of the method containing a node.
55 */
56 String displayMethodName(Node node);
57
58 /**
59 * The name of the method.
60 */
61 String displayCallTargetName(CallTarget callTarget);
39 62
40 /** 63 /**
41 * Converts a value in the guest language to a display string. 64 * Converts a value in the guest language to a display string.
42 */ 65 */
43 String displayValue(Object value); 66 String displayValue(Object value);