41
41
package com .oracle .graal .python .builtins .modules .io ;
42
42
43
43
import 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 ;
44
47
import static com .oracle .graal .python .builtins .PythonBuiltinClassType .PBufferedRandom ;
45
48
import static com .oracle .graal .python .builtins .PythonBuiltinClassType .PBufferedReader ;
46
49
import static com .oracle .graal .python .builtins .PythonBuiltinClassType .PBufferedWriter ;
52
55
import com .oracle .graal .python .builtins .Builtin ;
53
56
import com .oracle .graal .python .builtins .CoreFunctions ;
54
57
import com .oracle .graal .python .builtins .PythonBuiltins ;
55
- import com .oracle .graal .python .builtins .objects .module .PythonModule ;
56
58
import 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 ;
58
60
import com .oracle .graal .python .nodes .function .PythonBuiltinBaseNode ;
59
61
import com .oracle .graal .python .nodes .function .PythonBuiltinNode ;
60
62
import com .oracle .graal .python .runtime .PythonCore ;
@@ -75,17 +77,10 @@ protected List<? extends NodeFactory<? extends PythonBuiltinBaseNode>> getNodeFa
75
77
public void initialize (PythonCore core ) {
76
78
super .initialize (core );
77
79
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 ));
89
84
}
90
85
91
86
@ Builtin (name = "_IOBase" , minNumOfPositionalArgs = 1 , takesVarArgs = true , takesVarKeywordArgs = true , constructsClass = PIOBase )
0 commit comments