Skip to content

Commit fb229ba

Browse files
committed
adapt RaiseBlockingIOErrorNode to set attributes using the new PBaseException attribute storage
1 parent 1e61667 commit fb229ba

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/io/AbstractBufferedIOBuiltins.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
package com.oracle.graal.python.builtins.modules.io;
4242

4343
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.BlockingIOError;
44+
import static com.oracle.graal.python.builtins.objects.exception.OsErrorBuiltins.OS_ERROR_ATTR_FACTORY;
4445
import static com.oracle.graal.python.nodes.ErrorMessages.BUF_SIZE_POS;
4546
import static com.oracle.graal.python.nodes.ErrorMessages.IO_STREAM_DETACHED;
4647
import static com.oracle.graal.python.nodes.ErrorMessages.IO_UNINIT;
@@ -53,6 +54,7 @@
5354
import com.oracle.graal.python.builtins.modules.io.BufferedIONodesFactory.RawTellNodeGen;
5455
import com.oracle.graal.python.builtins.objects.PNone;
5556
import com.oracle.graal.python.builtins.objects.exception.OSErrorEnum;
57+
import com.oracle.graal.python.builtins.objects.exception.OsErrorBuiltins;
5658
import com.oracle.graal.python.builtins.objects.exception.PBaseException;
5759
import com.oracle.graal.python.lib.PyNumberAsSizeNode;
5860
import com.oracle.graal.python.nodes.PNodeWithRaise;
@@ -226,9 +228,11 @@ static PException raise(Node node, Object errno, String message, int written,
226228
written
227229
};
228230
PBaseException exception = factory.createBaseException(BlockingIOError, factory.createTuple(args));
229-
writeAttribute.execute(exception, "errno", errno);
230-
writeAttribute.execute(exception, "strerror", message);
231-
writeAttribute.execute(exception, "characters_written", written);
231+
final Object[] attrs = OS_ERROR_ATTR_FACTORY.create();
232+
attrs[OsErrorBuiltins.IDX_ERRNO] = errno;
233+
attrs[OsErrorBuiltins.IDX_STRERROR] = message;
234+
attrs[OsErrorBuiltins.IDX_WRITTEN] = written;
235+
exception.setExceptionAttributes(attrs);
232236
return PRaiseNode.raise(node, exception, PythonOptions.isPExceptionWithJavaStacktrace(PythonLanguage.get(node)));
233237
}
234238

0 commit comments

Comments
 (0)