4141package com .oracle .graal .python .builtins .modules .io ;
4242
4343import static com .oracle .graal .python .builtins .PythonBuiltinClassType .IOUnsupportedOperation ;
44+ import static com .oracle .graal .python .builtins .PythonBuiltinClassType .BlockingIOError ;
45+ import static com .oracle .graal .python .builtins .PythonBuiltinClassType .OSError ;
46+ import static com .oracle .graal .python .builtins .PythonBuiltinClassType .ValueError ;
4447import static com .oracle .graal .python .builtins .PythonBuiltinClassType .PBufferedRandom ;
4548import static com .oracle .graal .python .builtins .PythonBuiltinClassType .PBufferedReader ;
4649import static com .oracle .graal .python .builtins .PythonBuiltinClassType .PBufferedWriter ;
5255import com .oracle .graal .python .builtins .Builtin ;
5356import com .oracle .graal .python .builtins .CoreFunctions ;
5457import com .oracle .graal .python .builtins .PythonBuiltins ;
55- import com .oracle .graal .python .builtins .objects .module .PythonModule ;
5658import com .oracle .graal .python .builtins .objects .object .PythonObject ;
57- import com .oracle .graal .python .builtins .objects .type .PythonAbstractClass ;
59+ import com .oracle .graal .python .builtins .objects .type .PythonBuiltinClass ;
5860import com .oracle .graal .python .nodes .function .PythonBuiltinBaseNode ;
5961import com .oracle .graal .python .nodes .function .PythonBuiltinNode ;
6062import com .oracle .graal .python .runtime .PythonCore ;
@@ -75,17 +77,10 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
7577 public void initialize (PythonCore core ) {
7678 super .initialize (core );
7779 builtinConstants .put ("DEFAULT_BUFFER_SIZE" , DEFAULT_BUFFER_SIZE );
78- }
79-
80- @ Override
81- public void postInitialize (PythonCore core ) {
82- super .postInitialize (core );
83- /*
84- * This is temporary fix and will be removed once _io patches are removed.
85- */
86- PythonModule ioModule = core .lookupBuiltinModule ("_io" );
87- PythonAbstractClass unspportedOp = (PythonAbstractClass ) ioModule .getAttribute ("UnsupportedOperation" );
88- core .lookupType (IOUnsupportedOperation ).setSuperClass (unspportedOp );
80+ PythonBuiltinClass unsupportedOpExcType = core .lookupType (IOUnsupportedOperation );
81+ unsupportedOpExcType .setSuperClass (core .lookupType (OSError ), core .lookupType (ValueError ));
82+ builtinConstants .put ("UnsupportedOperation" , unsupportedOpExcType );
83+ builtinConstants .put ("BlockingIOError" , core .lookupType (BlockingIOError ));
8984 }
9085
9186 @ Builtin (name = "_IOBase" , minNumOfPositionalArgs = 1 , takesVarArgs = true , takesVarKeywordArgs = true , constructsClass = PIOBase )
0 commit comments