comparison truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/vm/InitializationTest.java @ 22226:c896a8e70777

Truffle/Instrumentation: Redesign instrumentation node classes to reduce the public API exposure. - ProbeNode is no longer public - Public interface InstrumentationNode.TruffleEvents is now abstract class EventHandlerNode with package private constructor - Interface ProbeNode.WrapperNode is no longer inside ProbeNode and has been expanded slightly so ProbeNode can be package private
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Sun, 20 Sep 2015 15:51:39 -0700
parents 20380d1d41f2
children 68a0c3dcea10
comparison
equal deleted inserted replaced
22225:a0fa69e3e60e 22226:c896a8e70777
42 import com.oracle.truffle.api.frame.MaterializedFrame; 42 import com.oracle.truffle.api.frame.MaterializedFrame;
43 import com.oracle.truffle.api.frame.VirtualFrame; 43 import com.oracle.truffle.api.frame.VirtualFrame;
44 import com.oracle.truffle.api.instrument.ASTProber; 44 import com.oracle.truffle.api.instrument.ASTProber;
45 import com.oracle.truffle.api.instrument.AdvancedInstrumentResultListener; 45 import com.oracle.truffle.api.instrument.AdvancedInstrumentResultListener;
46 import com.oracle.truffle.api.instrument.AdvancedInstrumentRootFactory; 46 import com.oracle.truffle.api.instrument.AdvancedInstrumentRootFactory;
47 import com.oracle.truffle.api.instrument.EventHandlerNode;
47 import com.oracle.truffle.api.instrument.Instrumenter; 48 import com.oracle.truffle.api.instrument.Instrumenter;
48 import com.oracle.truffle.api.instrument.Probe; 49 import com.oracle.truffle.api.instrument.Probe;
49 import com.oracle.truffle.api.instrument.ProbeNode;
50 import com.oracle.truffle.api.instrument.ProbeNode.WrapperNode;
51 import com.oracle.truffle.api.instrument.StandardSyntaxTag; 50 import com.oracle.truffle.api.instrument.StandardSyntaxTag;
52 import com.oracle.truffle.api.instrument.ToolSupportProvider; 51 import com.oracle.truffle.api.instrument.ToolSupportProvider;
53 import com.oracle.truffle.api.instrument.Visualizer; 52 import com.oracle.truffle.api.instrument.Visualizer;
53 import com.oracle.truffle.api.instrument.WrapperNode;
54 import com.oracle.truffle.api.nodes.Node; 54 import com.oracle.truffle.api.nodes.Node;
55 import com.oracle.truffle.api.nodes.NodeVisitor; 55 import com.oracle.truffle.api.nodes.NodeVisitor;
56 import com.oracle.truffle.api.nodes.RootNode; 56 import com.oracle.truffle.api.nodes.RootNode;
57 import com.oracle.truffle.api.source.Source; 57 import com.oracle.truffle.api.source.Source;
58 import com.oracle.truffle.api.source.SourceSection; 58 import com.oracle.truffle.api.source.SourceSection;
138 return true; 138 return true;
139 } 139 }
140 140
141 @SuppressWarnings("deprecation") 141 @SuppressWarnings("deprecation")
142 @Override 142 @Override
143 public ProbeNode.WrapperNode createWrapperNode() { 143 public WrapperNode createWrapperNode() {
144 throw new UnsupportedOperationException(); 144 throw new UnsupportedOperationException();
145 } 145 }
146 146
147 Object constant() { 147 Object constant() {
148 return constant; 148 return constant;
149 } 149 }
150 150
151 } 151 }
152 152
153 private static class ANodeWrapper extends ANode implements ProbeNode.WrapperNode { 153 private static class ANodeWrapper extends ANode implements WrapperNode {
154 @Child ANode child; 154 @Child ANode child;
155 private ProbeNode probeNode; 155 @Child private EventHandlerNode eventHandlerNode;
156 156
157 ANodeWrapper(ANode node) { 157 ANodeWrapper(ANode node) {
158 super(1); // dummy 158 super(1); // dummy
159 this.child = node; 159 this.child = node;
160 } 160 }
164 return child; 164 return child;
165 } 165 }
166 166
167 @Override 167 @Override
168 public Probe getProbe() { 168 public Probe getProbe() {
169 return probeNode.getProbe(); 169 return eventHandlerNode.getProbe();
170 } 170 }
171 171
172 @Override 172 @Override
173 public void insertProbe(ProbeNode pn) { 173 public void insertEventHandlerNode(EventHandlerNode eventHandler) {
174 this.probeNode = pn; 174 this.eventHandlerNode = eventHandler;
175 } 175 }
176 176
177 @Override 177 @Override
178 public String instrumentationInfo() { 178 public String instrumentationInfo() {
179 throw new UnsupportedOperationException(); 179 throw new UnsupportedOperationException();