erg/compiler/erg_compiler/context/initialize/py_mods/io.rs
2022-09-03 01:52:23 +09:00

26 lines
692 B
Rust

use erg_common::vis::Visibility;
use erg_common::Str;
use erg_type::constructors::{class, pr0_met};
use erg_type::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::module("io".into(), 15);
let mut string_io = Context::mono_class(Str::ever("StringIO!"), vec![Obj], vec![], 0);
string_io.register_impl(
"getvalue!",
pr0_met(class("StringIO!"), None, Str),
Immutable,
Public,
);
io.register_type(class("StringIO!"), string_io, Const);
io
}
}