Skip to content

Commit 5796ee7

Browse files
committed
the class definition epilogue should really be a prologue, since __module__ and __qualname__ are available during body execution
1 parent db118f9 commit 5796ee7

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,18 @@
5050
import com.oracle.graal.python.nodes.subscript.SetItemIfNotPresentNode;
5151
import com.oracle.truffle.api.frame.VirtualFrame;
5252

53-
public class ClassDefinitionEpilogNode extends StatementNode {
53+
public class ClassDefinitionPrologueNode extends StatementNode {
5454
@Child private ReadGlobalOrBuiltinNode readGlobalNameNode = ReadGlobalOrBuiltinNode.create(__NAME__);
5555
@Child private ReadIndexedArgumentNode readPrimaryArgNode = ReadIndexedArgumentNode.create(0);
5656
@Child private SetItemIfNotPresentNode setItemIfNotPresentNode = SetItemIfNotPresentNode.create();
5757

5858
private final String qualName;
5959

60-
public ClassDefinitionEpilogNode() {
60+
public ClassDefinitionPrologueNode() {
6161
this(null);
6262
}
6363

64-
public ClassDefinitionEpilogNode(String qualName) {
64+
public ClassDefinitionPrologueNode(String qualName) {
6565
this.qualName = qualName;
6666
}
6767

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/parser/PythonTreeTranslator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
import com.oracle.graal.python.nodes.argument.ReadDefaultArgumentNode;
6060
import com.oracle.graal.python.nodes.attributes.GetAttributeNode;
6161
import com.oracle.graal.python.nodes.call.PythonCallNode;
62-
import com.oracle.graal.python.nodes.classes.ClassDefinitionEpilogNode;
62+
import com.oracle.graal.python.nodes.classes.ClassDefinitionPrologueNode;
6363
import com.oracle.graal.python.nodes.control.BlockNode;
6464
import com.oracle.graal.python.nodes.control.ForNode;
6565
import com.oracle.graal.python.nodes.control.GetIteratorNode;
@@ -1855,7 +1855,7 @@ protected ExpressionNode asClassBody(Object accept, String qualName) {
18551855
environment.createLocal(__DOC__);
18561856
body.set(0, environment.findVariable(__DOC__).makeWriteNode((ExpressionNode) body.get(0)));
18571857
}
1858-
body.add(new ClassDefinitionEpilogNode(qualName));
1858+
body.add(0, new ClassDefinitionPrologueNode(qualName));
18591859
return new ReturnTargetNode(asBlock(body), factory.createNullLiteral());
18601860
}
18611861

0 commit comments

Comments
 (0)