Skip to content

Commit 25f6baa

Browse files
committed
error msg cleanup in ModuleBuiltins
1 parent 1d023ec commit 25f6baa

File tree

2 files changed

+3
-49
lines changed

2 files changed

+3
-49
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/module/ModuleBuiltins.java

Lines changed: 2 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -54,30 +54,24 @@
5454
import com.oracle.graal.python.builtins.Builtin;
5555
import com.oracle.graal.python.builtins.CoreFunctions;
5656
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
57-
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.TypeError;
5857
import com.oracle.graal.python.builtins.PythonBuiltins;
5958
import com.oracle.graal.python.builtins.objects.PNone;
6059
import com.oracle.graal.python.builtins.objects.cext.PythonAbstractNativeObject;
6160
import com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes;
62-
import com.oracle.graal.python.builtins.objects.common.HashingCollectionNodes.GetDictStorageNode;
6361
import com.oracle.graal.python.builtins.objects.common.HashingStorage;
6462
import com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary;
65-
import com.oracle.graal.python.builtins.objects.common.HashingStorageLibrary.HashingStorageIterator;
6663
import com.oracle.graal.python.builtins.objects.common.PHashingCollection;
6764
import com.oracle.graal.python.builtins.objects.dict.PDict;
6865
import com.oracle.graal.python.builtins.objects.object.ObjectBuiltins;
6966
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
7067
import com.oracle.graal.python.nodes.ErrorMessages;
71-
import com.oracle.graal.python.nodes.PRaiseNode;
7268
import static com.oracle.graal.python.nodes.SpecialAttributeNames.__DICT__;
73-
import static com.oracle.graal.python.nodes.SpecialMethodNames.SORT;
7469
import static com.oracle.graal.python.nodes.SpecialMethodNames.__DIR__;
7570
import static com.oracle.graal.python.nodes.SpecialMethodNames.__GETATTRIBUTE__;
7671
import com.oracle.graal.python.nodes.attributes.ReadAttributeFromObjectNode;
7772
import com.oracle.graal.python.nodes.attributes.WriteAttributeToObjectNode;
7873
import com.oracle.graal.python.nodes.builtins.ListNodes;
7974
import com.oracle.graal.python.nodes.call.CallNode;
80-
import com.oracle.graal.python.nodes.call.special.LookupAndCallBinaryNode;
8175
import com.oracle.graal.python.nodes.expression.CoerceToBooleanNode;
8276
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
8377
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
@@ -89,7 +83,6 @@
8983
import com.oracle.graal.python.nodes.util.CastToJavaStringNode;
9084
import com.oracle.graal.python.runtime.exception.PException;
9185
import com.oracle.truffle.api.CompilerDirectives;
92-
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
9386
import com.oracle.truffle.api.dsl.Cached;
9487
import com.oracle.truffle.api.dsl.Fallback;
9588
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
@@ -168,7 +161,7 @@ Object dir(PythonModule self,
168161
}
169162
} else {
170163
String name = getName(self, pol, hashLib, castToJavaStringNode);
171-
throw this.raise(PythonBuiltinClassType.TypeError, "%s.__dict__ is not a dictionary", name);
164+
throw raise(PythonBuiltinClassType.TypeError, ErrorMessages.IS_NOT_A_DICTIONARY, name);
172165
}
173166
}
174167

@@ -180,7 +173,7 @@ private String getName(PythonModule self, PythonObjectLibrary pol, HashingStorag
180173
return castToJavaStringNode.execute(name);
181174
}
182175
}
183-
throw raise(PythonBuiltinClassType.SystemError, "nameless module");
176+
throw raise(PythonBuiltinClassType.SystemError, ErrorMessages.NAMELESS_MODULE);
184177
}
185178

186179
protected static boolean isDict(Object object, IsBuiltinClassProfile profile) {
@@ -229,46 +222,6 @@ Object raise(Object self, @SuppressWarnings("unused") Object dict) {
229222
}
230223
}
231224

232-
@Builtin(name = __DIR__, minNumOfPositionalArgs = 1, maxNumOfPositionalArgs = 1)
233-
@GenerateNodeFactory
234-
@TypeSystemReference(PythonArithmeticTypes.class)
235-
public abstract static class DirNode extends PythonBuiltinNode {
236-
@Specialization
237-
public Object module(VirtualFrame frame, PythonModule self,
238-
@Cached("create(__GETATTRIBUTE__)") LookupAndCallBinaryNode getDictNode,
239-
@Cached("create(__GETATTRIBUTE__)") LookupAndCallBinaryNode getSortNode,
240-
@Cached CallNode callDirNode,
241-
@Cached CallNode callSortNode,
242-
@Cached GetDictStorageNode getDictStorageNode,
243-
@CachedLibrary(limit = "1") HashingStorageLibrary lib,
244-
@Cached PRaiseNode raiseNode) {
245-
Object dict = getDictNode.executeObject(frame, self, __DICT__);
246-
Object res;
247-
if (dict instanceof PDict) {
248-
Object dir = HashingStorageLibrary.getUncached().getItem(getDictStorageNode.execute((PHashingCollection) dict), __DIR__);
249-
if (dir != null && dir != PNone.NO_VALUE) {
250-
res = callDirNode.execute(dir);
251-
} else {
252-
HashingStorage storage = getDictStorageNode.execute((PHashingCollection) dict);
253-
HashingStorageIterator<Object> keys = lib.keys(storage).iterator();
254-
int len = lib.length(storage);
255-
Object[] a = new Object[len];
256-
for (int i = 0; keys.hasNext(); i++) {
257-
a[i] = keys.next();
258-
}
259-
res = PythonObjectFactory.getUncached().createList(a);
260-
}
261-
} else {
262-
throw raiseNode.raise(TypeError, ErrorMessages.IS_NOT_A_DICTIONARY, self);
263-
}
264-
Object sort = getSortNode.executeObject(frame, res, SORT);
265-
if (sort != PNone.NO_VALUE) {
266-
callSortNode.execute(sort);
267-
}
268-
return res;
269-
}
270-
}
271-
272225
@Builtin(name = __GETATTRIBUTE__, minNumOfPositionalArgs = 2)
273226
@GenerateNodeFactory
274227
public abstract static class ModuleGetattritbuteNode extends PythonBinaryBuiltinNode {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/ErrorMessages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,7 @@ public abstract class ErrorMessages {
357357
public static final String NAME_IS_ASSIGNED_BEFORE_GLOBAL = "name '%s' is assigned to before global declaration";
358358
public static final String NAME_IS_ASSIGNED_BEFORE_NONLOCAL = "name '%s' is assigned to before nonlocal declaration";
359359
public static final String NAME_NOT_DEFINED = "name '%s' is not defined";
360+
public static final String NAMELESS_MODULE = "nameless module";
360361
public static final String NEED_BYTELIKE_OBJ = "decoding to str: need a bytes-like object, %p found";
361362
public static final String NEG_INF_PLUS_INF_IN = "-inf + inf in fsum";
362363
public static final String NEGATIVE_COUNT = "negative count";

0 commit comments

Comments
 (0)