mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-29 20:34:44 +00:00
27 lines
794 B
Rust
27 lines
794 B
Rust
use erg_common::vis::Visibility;
|
|
|
|
use crate::ty::constructors::{mono, pr0_met, ref_};
|
|
use crate::ty::Type;
|
|
use Type::*;
|
|
|
|
use crate::context::Context;
|
|
use crate::varinfo::Mutability;
|
|
use Mutability::*;
|
|
use Visibility::*;
|
|
|
|
impl Context {
|
|
pub(crate) fn init_py_io_mod() -> Self {
|
|
let mut io = Context::builtin_module("io", 15);
|
|
let mut string_io = Context::builtin_mono_class("StringIO!", 0);
|
|
// FIXME: include Obj (pass main_ctx as a param)
|
|
// string_io.register_superclass(Obj, obj);
|
|
string_io.register_builtin_impl(
|
|
"getvalue!",
|
|
pr0_met(ref_(mono("io.StringIO!")), Str),
|
|
Immutable,
|
|
Public,
|
|
);
|
|
io.register_builtin_type(mono("io.StringIO!"), string_io, Public, Const);
|
|
io
|
|
}
|
|
}
|