Module erg_compiler::ty
source · Expand description
defines Type
(type kind).
Some structures implement Display
using LimitedDisplay
. This is omitted when the display width is somewhat longer.
If you want to get the full display, use LimitedDisplay::to_string_unabbreviated
.
Type
(コンパイラ等で使われる「型」を表現する)を定義する。
各種の構造体はLimitedDisplay
を使ってDisplay
が実装されている。これは表示の幅がある程度長くなる場合省略を行う。
フルの表示を得たい場合は、LimitedDisplay::to_string_unabbreviated
を使うこと。
Re-exports§
pub use predicate::Predicate;
pub use typaram::IntervalOp;
pub use typaram::TyParam;
pub use value::ValueObj;
pub use const_subr::*;
pub use vis::*;
Modules§
- バイトコードからオブジェクトを復元する
- defines
ValueObj
(used in the compiler, VM).
Structs§
- e.g.
- e.g. (x: Int, ?base: Int) -> Int => SubrTy{ kind: Func, non_default_params: [x: Int], default_params: [base: Int] return_t: Int }
Enums§
- Opcode used when Erg implements its own processor バイトコード命令で、in-place型付けをするオブジェクト MaybeBigがついている場合、固定長でない可能性あり(実行時検査が必要)
- バイトコード命令で、in-place型付けをするオブジェクトペア とりあえずは必要性の高いペアから登録する 全ての式の型が確認されているので、戻り値の型は不要
Constants§
Traits§
- cloneのコストがあるためなるべく.ref_tを使うようにすること いくつかの構造体は直接Typeを保持していないので、その場合は.tを使う