scribble-enhanced/collects/scribble/manual-struct.rkt
Robby Findler 8799cd2137 Add index entries for @defconstructor (and friends). Also add
code that skips over them when building the search indices.
Overall, this means that the only change most people would see
is that multiple constructors in the same class will get a warning
(and there was one of those, so fixed that too).

Also, Rackety. Specifically, transformed this surprising combination
of constructs (where all caps are placeholders for something specific):

((if PRED
     (λ (c mk) BODY2)
     (λ (c mk) BODY1))
 content
 (lambda (tag) BODY3))

into this one:

(define (mk tag) BODY3)
(if PRED
    BODY1{c:=content}
    BODY2{c:=content})

original commit: 8ee76c9547899f62e6f28eba1cdbba1f4d54c399
2012-08-11 21:52:48 -05:00

20 lines
770 B
Racket

#lang scheme/base
(require "core.rkt"
"private/provide-structs.rkt"
racket/contract/base)
(provide-structs
[module-path-index-desc ()]
[exported-index-desc ([name symbol?]
[from-libs (listof module-path?)])]
[(method-index-desc exported-index-desc) ([method-name symbol?]
[class-tag tag?])]
[(constructor-index-desc exported-index-desc) ([class-tag tag?])]
[(procedure-index-desc exported-index-desc) ()]
[(thing-index-desc exported-index-desc) ()]
[(struct-index-desc exported-index-desc) ()]
[(form-index-desc exported-index-desc) ()]
[(class-index-desc exported-index-desc) ()]
[(interface-index-desc exported-index-desc) ()]
[(mixin-index-desc exported-index-desc) ()])