The src/object DirectoryΒΆ
Namespace object. Wrappers around other modules accepting objects syntax.
File: libobject.* (src/object/)
The interface of the
objectmodule. It exports thebind,types_check,rename,desugar,raw_desugar,overfun_bindandoverfun_types_check. Those are overloads accepting object-related constructs.
File: binder.* (src/object/)
The
object::Bindervisitor. Binds uses to definitions (works on syntax with objects). Inherits frombind::Binder.
File: overfun-binder.* (src/object/)
The
object::OverfunBindervisitor. Binds uses to definitions (works on syntax with objects and with overloading support). Inherits fromobject::Binderandoverload::Binder.
File: type-checker.* (src/object/)
The
object::TypeCheckervisitor. 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::OverfunTypeCheckervisitor. 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::TypeCheckerandoverload::TypeChecker.
File: renamer.* (src/object/)
The
object::Renamervisitor. 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::DesugarVisitorvisitor. Transforms an AST with objects into an AST without objects.