< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java
Print this page
@@ -36,10 +36,11 @@
import java.util.Formatter;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.function.Predicate;
+import java.util.function.Supplier;
import org.graalvm.compiler.core.common.Fields;
import org.graalvm.compiler.core.common.type.AbstractPointerStamp;
import org.graalvm.compiler.core.common.type.Stamp;
import org.graalvm.compiler.debug.DebugCloseable;
@@ -596,10 +597,19 @@
if (sourcePosition != null && graph != null && !graph.seenNodeSourcePosition) {
graph.seenNodeSourcePosition = true;
}
}
+ /**
+ * Update the source position only if it is null.
+ */
+ public void updateNodeSourcePosition(Supplier<NodeSourcePosition> sourcePositionSupp) {
+ if (this.sourcePosition == null) {
+ setNodeSourcePosition(sourcePositionSupp.get());
+ }
+ }
+
public DebugCloseable withNodeSourcePosition() {
return graph.withNodeSourcePosition(this);
}
public final NodeClass<? extends Node> getNodeClass() {
< prev index next >