The src/type
Directory
Namespace type
. Type checking.
File: libtype.* (src/type/)
The interface of the
type
module. 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
Nil
type is holding information about the real record type that it’s hiding. Therecord_type
is set during the type-checker in the parent nodes of the node holding aNil
type.
File: type-checker.* (src/type/)
The
type::TypeChecker
visitor. Computes the types of anAST
and adds type labels to the corresponding nodes (works on syntax without objects).
File: pretty-printer.* (src/type/)
The
type::PrettyPrinter
visitor which pretty-printstype::Type
in a human-readable way. Used to output nice type errors.