Skip to content

Commit d90d298

Browse files
committed
make ImportNode wrappable when trying to wrap expressions
1 parent dfd6c58 commit d90d298

File tree

1 file changed

+12
-0
lines changed
  • graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/statement

1 file changed

+12
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/statement/ImportNode.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,21 @@
2727

2828
import com.oracle.graal.python.nodes.expression.ExpressionNode;
2929
import com.oracle.truffle.api.frame.VirtualFrame;
30+
import com.oracle.truffle.api.instrumentation.GenerateWrapper;
31+
import com.oracle.truffle.api.instrumentation.ProbeNode;
3032

33+
@GenerateWrapper
3134
public class ImportNode extends AbstractImportNode {
3235
private final String moduleName;
3336

3437
public ImportNode(String moduleName) {
3538
this.moduleName = moduleName;
3639
}
3740

41+
public ImportNode(ImportNode original) {
42+
this.moduleName = original.moduleName;
43+
}
44+
3845
@Override
3946
public void executeVoid(VirtualFrame frame) {
4047
importModule(moduleName);
@@ -57,4 +64,9 @@ public Object execute(VirtualFrame frame) {
5764
public ExpressionNode asExpression() {
5865
return new ImportExpression(this);
5966
}
67+
68+
@Override
69+
public WrapperNode createWrapper(ProbeNode probe) {
70+
return new ImportNodeWrapper(this, this, probe);
71+
}
6072
}

0 commit comments

Comments
 (0)