The src/object
Directory
Namespace object
. Wrappers around other modules accepting objects syntax.
File: libobject.* (src/object/)
The interface of the
object
module. It exports thebind
,types_check
,rename
,desugar
,raw_desugar
,overfun_bind
andoverfun_types_check
. Those are overloads accepting object-related constructs.
File: binder.* (src/object/)
The
object::Binder
visitor. Binds uses to definitions (works on syntax with objects). Inherits frombind::Binder
.
File: overfun-binder.* (src/object/)
The
object::OverfunBinder
visitor. Binds uses to definitions (works on syntax with objects and with overloading support). Inherits fromobject::Binder
andoverload::Binder
.
File: type-checker.* (src/object/)
The
object::TypeChecker
visitor. Computes the types of an AST and adds type labels to the corresponding nodes (works on syntax with objects). Inherits fromtype::TypeChecker
.
File: overfun-type-checker.* (src/object/)
The
object::OverfunTypeChecker
visitor. Computes the types of an AST and adds type labels to the corresponding nodes (works on syntax with objects and with overloading support). Inherits fromobject::TypeChecker
andoverload::TypeChecker
.
File: renamer.* (src/object/)
The
object::Renamer
visitor. Renames every identifier to a unique name (works on syntax with objects), and keeps a record of the names of the renamed classes. Inherits frombind::Renamer
.
File: desugar-visitor.* (src/object/)
The
object::DesugarVisitor
visitor. Transforms an AST with objects into an AST without objects.