Skip to content

Commit 5961ee9

Browse files
msimacekelkorchi
authored andcommitted
Adapt AttributeErrorBuiltins to 24.2
1 parent 246df4e commit 5961ee9

File tree

2 files changed

+10
-18
lines changed

2 files changed

+10
-18
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/PythonBuiltinClassType.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,6 @@
135135
import com.oracle.graal.python.builtins.objects.dict.DictBuiltins;
136136
import com.oracle.graal.python.builtins.objects.dict.DictValuesBuiltins;
137137
import com.oracle.graal.python.builtins.objects.dict.DictViewBuiltins;
138-
import com.oracle.graal.python.builtins.objects.exception.AttributeErrorBuiltins;
139138
import com.oracle.graal.python.builtins.objects.floats.FloatBuiltins;
140139
import com.oracle.graal.python.builtins.objects.foreign.ForeignBooleanBuiltins;
141140
import com.oracle.graal.python.builtins.objects.foreign.ForeignNumberBuiltins;
@@ -469,7 +468,7 @@ public enum PythonBuiltinClassType implements TruffleObject {
469468
OverflowError("OverflowError", J_BUILTINS, Flags.EXCEPTION),
470469
ZeroDivisionError("ZeroDivisionError", J_BUILTINS, Flags.EXCEPTION),
471470
AssertionError("AssertionError", J_BUILTINS, Flags.EXCEPTION),
472-
AttributeError("AttributeError", J_BUILTINS, Flags.EXCEPTION, AttributeErrorBuiltins.SLOTS),
471+
AttributeError("AttributeError", J_BUILTINS, Flags.EXCEPTION),
473472
BufferError("BufferError", J_BUILTINS, Flags.EXCEPTION),
474473
EOFError("EOFError", J_BUILTINS, Flags.EXCEPTION),
475474
ImportError("ImportError", J_BUILTINS, Flags.EXCEPTION),

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/exception/AttributeErrorBuiltins.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,13 @@
4141
package com.oracle.graal.python.builtins.objects.exception;
4242

4343
import static com.oracle.graal.python.nodes.SpecialMethodNames.J___GETSTATE__;
44+
import static com.oracle.graal.python.nodes.SpecialMethodNames.J___INIT__;
4445
import static com.oracle.graal.python.nodes.SpecialMethodNames.J___REDUCE__;
4546
import static com.oracle.graal.python.util.PythonUtils.TS_ENCODING;
4647
import static com.oracle.graal.python.util.PythonUtils.tsLiteral;
4748

4849
import java.util.List;
4950

50-
import com.oracle.graal.python.PythonLanguage;
51-
import com.oracle.graal.python.annotations.Slot;
52-
import com.oracle.graal.python.annotations.Slot.SlotKind;
53-
import com.oracle.graal.python.annotations.Slot.SlotSignature;
5451
import com.oracle.graal.python.builtins.Builtin;
5552
import com.oracle.graal.python.builtins.CoreFunctions;
5653
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
@@ -61,7 +58,6 @@
6158
import com.oracle.graal.python.builtins.objects.common.HashingStorageNodes;
6259
import com.oracle.graal.python.builtins.objects.dict.PDict;
6360
import com.oracle.graal.python.builtins.objects.function.PKeyword;
64-
import com.oracle.graal.python.builtins.objects.type.TpSlots;
6561
import com.oracle.graal.python.nodes.ErrorMessages;
6662
import com.oracle.graal.python.nodes.PRaiseNode;
6763
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
@@ -70,7 +66,7 @@
7066
import com.oracle.graal.python.nodes.function.builtins.PythonVarargsBuiltinNode;
7167
import com.oracle.graal.python.nodes.object.GetClassNode;
7268
import com.oracle.graal.python.nodes.object.GetDictIfExistsNode;
73-
import com.oracle.graal.python.runtime.object.PFactory;
69+
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
7470
import com.oracle.truffle.api.dsl.Bind;
7571
import com.oracle.truffle.api.dsl.Cached;
7672
import com.oracle.truffle.api.dsl.GenerateNodeFactory;
@@ -84,8 +80,6 @@
8480
@CoreFunctions(extendClasses = PythonBuiltinClassType.AttributeError)
8581
public final class AttributeErrorBuiltins extends PythonBuiltins {
8682

87-
public static final TpSlots SLOTS = AttributeErrorBuiltinsSlotsGen.SLOTS;
88-
8983
@Override
9084
protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFactories() {
9185
return AttributeErrorBuiltinsFactory.getFactories();
@@ -98,10 +92,9 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
9892
private static final TruffleString T_NAME = tsLiteral("name");
9993
private static final TruffleString T_OBJ = tsLiteral("obj");
10094

101-
private static final BaseExceptionAttrNode.StorageFactory ATTR_FACTORY = (args) -> new Object[NUM_ATTRS];
95+
private static final BaseExceptionAttrNode.StorageFactory ATTR_FACTORY = (args, factory) -> new Object[NUM_ATTRS];
10296

103-
@Slot(value = SlotKind.tp_init, isComplex = true)
104-
@SlotSignature(minNumOfPositionalArgs = 1, takesVarArgs = true, takesVarKeywordArgs = true)
97+
@Builtin(name = J___INIT__, minNumOfPositionalArgs = 1, takesVarArgs = true, takesVarKeywordArgs = true)
10598
@GenerateNodeFactory
10699
abstract static class InitNode extends PythonVarargsBuiltinNode {
107100

@@ -124,7 +117,7 @@ static Object init(PBaseException self, Object[] args, PKeyword[] kwargs,
124117
} else if (equalObjNode.execute(kwName, T_OBJ, TS_ENCODING)) {
125118
attrs[IDX_OBJ] = kw.getValue();
126119
} else {
127-
throw raiseNode.raise(inliningTarget, PythonBuiltinClassType.TypeError, ErrorMessages.S_IS_AN_INVALID_ARG_FOR_S, kw.getName(), "AttributeError");
120+
throw raiseNode.raise(PythonBuiltinClassType.TypeError, ErrorMessages.S_IS_AN_INVALID_ARG_FOR_S, kw.getName(), "AttributeError");
128121
}
129122
}
130123
self.setExceptionAttributes(attrs);
@@ -163,7 +156,7 @@ static Object get(PBaseException self,
163156
@Cached GetDictIfExistsNode getDictIfExistsNode,
164157
@Cached HashingStorageNodes.HashingStorageSetItem setHashingStorageItem,
165158
@Cached HashingStorageNodes.HashingStorageCopy copyStorageNode,
166-
@Bind PythonLanguage language) {
159+
@Cached PythonObjectFactory factory) {
167160
PDict dict = getDictIfExistsNode.execute(self);
168161
/*
169162
* Note from CPython: We specifically are not pickling the obj attribute since there are
@@ -173,7 +166,7 @@ static Object get(PBaseException self,
173166
if (name != null) {
174167
HashingStorage storage = (dict != null) ? copyStorageNode.execute(inliningTarget, dict.getDictStorage()) : EmptyStorage.INSTANCE;
175168
storage = setHashingStorageItem.execute(inliningTarget, storage, T_NAME, name);
176-
return PFactory.createDict(language, storage);
169+
return factory.createDict(storage);
177170
} else if (dict != null) {
178171
return dict;
179172
} else {
@@ -192,11 +185,11 @@ static Object reduce(VirtualFrame frame, PBaseException self,
192185
@Cached GetClassNode getClassNode,
193186
@Cached ExceptionNodes.GetArgsNode getArgsNode,
194187
@Cached GetStateNode getStateNode,
195-
@Bind PythonLanguage language) {
188+
@Cached PythonObjectFactory factory) {
196189
Object clazz = getClassNode.execute(inliningTarget, self);
197190
Object args = getArgsNode.execute(inliningTarget, self);
198191
Object state = getStateNode.execute(frame, self);
199-
return PFactory.createTuple(language, new Object[]{clazz, args, state});
192+
return factory.createTuple(new Object[]{clazz, args, state});
200193
}
201194
}
202195
}

0 commit comments

Comments
 (0)