Skip to content

Commit beaff32

Browse files
committed
ImportFromNode: remove usage of ReadAttributeFromObjectNode to read "modules" attribute
- style fix
1 parent 4c62f30 commit beaff32

File tree

2 files changed

+6
-14
lines changed

2 files changed

+6
-14
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ private static Object __import__(VirtualFrame frame, PythonContext ctx, String n
166166
assert globals != null;
167167
// the locals argument is ignored so it can always be None
168168
return callNode.execute(frame, builtinImport, new Object[]{name,
169-
getDictNode.execute(globals), PNone.NONE, factory.createTuple(fromList), level},
170-
PKeyword.EMPTY_KEYWORDS);
169+
getDictNode.execute(globals), PNone.NONE, factory.createTuple(fromList), level},
170+
PKeyword.EMPTY_KEYWORDS);
171171
}
172172

173173
protected boolean emulateJython() {

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

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@
3232
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
3333
import com.oracle.graal.python.builtins.objects.PNone;
3434
import com.oracle.graal.python.builtins.objects.function.PArguments;
35+
import com.oracle.graal.python.builtins.objects.module.PythonModule;
3536
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
3637
import com.oracle.graal.python.builtins.objects.str.PString;
3738
import com.oracle.graal.python.nodes.ErrorMessages;
3839
import com.oracle.graal.python.nodes.PRaiseImportErrorNode;
39-
import com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode;
4040
import com.oracle.graal.python.nodes.frame.WriteNode;
4141
import com.oracle.graal.python.nodes.object.IsBuiltinClassProfile;
4242
import com.oracle.graal.python.nodes.subscript.GetItemNode;
@@ -52,7 +52,6 @@ public class ImportFromNode extends AbstractImportNode {
5252
@Children private final WriteNode[] aslist;
5353
@Child private PythonObjectLibrary pythonLibrary;
5454
@Child private GetItemNode getItem;
55-
@Child private ReadAttributeFromObjectNode readModules;
5655
@Child private PRaiseImportErrorNode raiseNode;
5756

5857
private final String importee;
@@ -111,7 +110,9 @@ public void executeVoid(VirtualFrame frame) {
111110
throw pe;
112111
}
113112
String fullname = PString.cat(pkgname, ".", attr);
114-
Object sysModules = ensureReadModulesNode().execute(getContext().getCore().lookupBuiltinModule("sys"), "modules");
113+
PythonModule sys = getContext().getCore().lookupBuiltinModule("sys");
114+
Object sysModules = pol.lookupAttribute(sys, frame, "modules");
115+
assert sysModules != PNone.NO_VALUE : "ImportFromNode: sys.modules was not found!";
115116
writeNode.doWrite(frame, ensureGetItemNode().execute(frame, sysModules, fullname));
116117
} catch (PException e2) {
117118
Object modulePath = "unknown location";
@@ -158,15 +159,6 @@ private PRaiseImportErrorNode ensureRaiseNode() {
158159
return raiseNode;
159160
}
160161

161-
private ReadAttributeFromObjectNode ensureReadModulesNode() {
162-
if (readModules == null) {
163-
CompilerDirectives.transferToInterpreterAndInvalidate();
164-
getItem = insert(GetItemNode.create());
165-
readModules = insert(ReadAttributeFromObjectNode.create());
166-
}
167-
return readModules;
168-
}
169-
170162
private GetItemNode ensureGetItemNode() {
171163
if (getItem == null) {
172164
CompilerDirectives.transferToInterpreterAndInvalidate();

0 commit comments

Comments
 (0)