comparison graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExecutionContext.java @ 15842:eb947cc7bff9

Truffle: revise instrumentation support APIs in ExecutionContext
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Wed, 21 May 2014 21:07:15 -0700
parents 8c34e2cc4add
children 09ac9ac9c4fc
comparison
equal deleted inserted replaced
15841:cb87019df5aa 15842:eb947cc7bff9
152 * might be used for an interactive prompt. 152 * might be used for an interactive prompt.
153 */ 153 */
154 public abstract String getLanguageShortName(); 154 public abstract String getLanguageShortName();
155 155
156 /** 156 /**
157 * Add instrumentation to subsequently constructed Truffle ASTs for the guest language; every
158 * one added will have the opportunity to add instrumentation.
159 *
160 * @throws IllegalStateException if AST instrumentation not enabled
161 * @throws IllegalArgumentException if prober not usable for the guest language implementation.
162 */
163 public abstract void addNodeProber(ASTNodeProber nodeProber) throws IllegalStateException, IllegalArgumentException;
164
165 /**
166 * Assigns a guest language-specific manager for using {@link ASTNodeProber}s added by tools to
167 * instrument ASTs with {@link Probe}s at specified nodes. This must be assigned outside the
168 * implementation context to avoid build circularities. It must also be set before any
169 * instrumentation probe implementations are assigned.
170 */
171 public abstract void setASTProber(ASTProber astProber);
172
173 /**
174 * Establishes source event reporting 157 * Establishes source event reporting
175 */ 158 */
176 protected abstract void setSourceCallback(SourceCallback sourceCallback); 159 protected abstract void setSourceCallback(SourceCallback sourceCallback);
177 160
178 } 161 }