The src/type Directory¶
Namespace type. Type checking.
File: libtype.* (src/type/)
The interface of the
typemodule. It exports a single procedure,types_check.
Files: types.hh, type.*, array.*, attribute.*, builtin-types.*, class.*, field.*, function.*, method.*, named.*, record.* (src/type/)
The definitions of all the types. Built-in types (
Int, String and Void) are defined insrc/type/builtin-types.*.
File: nil.* (src/type/)
The
Niltype is holding information about the real record type that it’s hiding. Therecord_typeis set during the type-checker in the parent nodes of the node holding aNiltype.
File: type-checker.* (src/type/)
The
type::TypeCheckervisitor. Computes the types of anASTand adds type labels to the corresponding nodes (works on syntax without objects).
File: pretty-printer.* (src/type/)
The
type::PrettyPrintervisitor which pretty-printstype::Typein a human-readable way. Used to output nice type errors.