4.3.4 Documenting Classes and Interfaces
syntax
(defclass maybe-link id super (intf-id ...) pre-flow ...)
maybe-link =
| #:link-target? link-target?-expr super = super-id | (mixin-id super)
The decoding of the pre-flow sequence should start with general documentation about the class, followed by constructor definition (see defconstructor), and then field and method definitions (see defmethod). In rendered form, the constructor and method specification are indented to visually group them under the class definition.
syntax
(defclass/title maybe-link id super (intf-id ...) pre-flow ...)
This form is normally used to create a section to be rendered on its own HTML. The 'hidden style is used because the definition box serves as a title.
syntax
(definterface id (intf-id ...) pre-flow ...)
syntax
(definterface/title id (intf-id ...) pre-flow ...)
syntax
(defmixin id (domain-id ...) (range-id ...) pre-flow ...)
syntax
(defmixin/title id (domain-id ...) (range-id ...) pre-flow ...)
syntax
(defconstructor (arg-spec ...) pre-flow ...)
arg-spec = (arg-id contract-expr-datum) | (arg-id contract-expr-datum default-expr)
syntax
(defconstructor/make (arg-spec ...) pre-flow ...)
syntax
(defconstructor*/make [(arg-spec ...) ...] pre-flow ...)
syntax
(defconstructor/auto-super [(arg-spec ...) ...] pre-flow ...)
syntax
(defmethod maybe-mode maybe-link (id arg-spec ...) result-contract-expr-datum pre-flow ...)
maybe-link =
| #:link-target? link-target?-expr maybe-mode =
| #:mode override | #:mode override-final | #:mode public-final | #:mode augment | #:mode augment-final | #:mode pubment | #:mode extend | #:mode extend-final
The maybe-mode specifies whether the method overrides a method from a superclass, and so on. (For these purposes, use #:mode override when refining a method of an implemented interface.) The extend mode is like override, but the description of the method should describe only extensions to the superclass implementation.
syntax
(defmethod* maybe-mode maybe-link ([(id arg-spec ...) result-contract-expr-datum] ...) pre-flow ...)
syntax
(method class/intf-id method-id)
For-label binding information is used with class/intf-id, but not method-id.
syntax
(xmethod class/intf-id method-id)
syntax
(this-obj)