Skip to content

Commit c46ed2f

Browse files
committed
make CastToBooleanNode wrappable for instruments
1 parent 46abd6e commit c46ed2f

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/expression/CastToBooleanNode.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,20 @@
4444
import com.oracle.truffle.api.dsl.ImportStatic;
4545
import com.oracle.truffle.api.dsl.Specialization;
4646
import com.oracle.truffle.api.frame.VirtualFrame;
47+
import com.oracle.truffle.api.instrumentation.GenerateWrapper;
48+
import com.oracle.truffle.api.instrumentation.ProbeNode;
4749
import com.oracle.truffle.api.interop.Message;
4850
import com.oracle.truffle.api.interop.TruffleObject;
4951

52+
@GenerateWrapper
5053
public abstract class CastToBooleanNode extends UnaryOpNode {
5154
protected final IsBuiltinClassProfile isBuiltinClassProfile = IsBuiltinClassProfile.create();
5255

56+
@Override
57+
public WrapperNode createWrapper(ProbeNode probe) {
58+
return new CastToBooleanNodeWrapper(this, probe);
59+
}
60+
5361
public static CastToBooleanNode createIfTrueNode() {
5462
return YesNodeGen.create(null);
5563
}
@@ -71,7 +79,9 @@ public static CastToBooleanNode createIfFalseNode(ExpressionNode operand) {
7179
@Override
7280
public abstract boolean executeBoolean(VirtualFrame frame);
7381

74-
public abstract boolean executeWith(Object value);
82+
public final boolean executeWith(Object value) {
83+
return executeBoolean(null, value);
84+
}
7585

7686
@ImportStatic(Message.class)
7787
public abstract static class YesNode extends CastToBooleanNode {

0 commit comments

Comments
 (0)