Liking cljdoc? Tell your friends :D

skeptic.analysis.conditional-arms


effective-conditional-armsclj

(effective-conditional-arms cond-type)

Inputs: [cond-type :- ats/SemanticType] Returns: [ats/SemanticType]

Structural type of each surviving arm post-dispatch refinement. See effective-conditional-branches.

Inputs: [cond-type :- ats/SemanticType]
Returns: [ats/SemanticType]

Structural type of each surviving arm post-dispatch refinement.
 See `effective-conditional-branches`.
sourceraw docstring

effective-conditional-branchesclj

(effective-conditional-branches cond-type)

Inputs: [cond-type :- ats/SemanticType] Returns: [s/Any]

Return live arm triples [pred eff-type slot3], where each arm's structural type is narrowed by the negation of all earlier arms' recognized descriptors. Arms whose effective type is BottomType are dropped (unreachable). Unrecognized earlier descriptors are skipped.

Inputs: [cond-type :- ats/SemanticType]
Returns: [s/Any]

Return live arm triples `[pred eff-type slot3]`, where each arm's
 structural type is narrowed by the negation of all earlier arms'
 recognized descriptors. Arms whose effective type is BottomType are
 dropped (unreachable). Unrecognized earlier descriptors are skipped.
sourceraw docstring

route-conditional-by-predicateclj

(route-conditional-by-predicate cond-type path pred-info polarity)

Inputs: [cond-type :- ats/SemanticType path :- [s/Any] pred-info :- #:s{Keyword s/Any} polarity :- s/Bool] Returns: (s/maybe ats/SemanticType)

If any arm's descriptor matches (path, pred-info), return that arm's effective type (polarity=true) or the ConditionalT minus that arm (polarity=false). Else nil so callers can fall back to a structural walk.

Inputs: [cond-type :- ats/SemanticType path :- [s/Any] pred-info :- #:s{Keyword s/Any} polarity :- s/Bool]
Returns: (s/maybe ats/SemanticType)

If any arm's descriptor matches `(path, pred-info)`, return that arm's
 effective type (polarity=true) or the ConditionalT minus that arm
 (polarity=false). Else nil so callers can fall back to a structural walk.
sourceraw docstring

route-conditional-by-valuesclj

(route-conditional-by-values cond-type path values polarity)

Inputs: [cond-type :- ats/SemanticType path :- [s/Any] values :- [s/Any] polarity :- s/Bool] Returns: (s/maybe ats/SemanticType)

Like route-conditional-by-predicate, but for descriptors of :values shape (e.g. discriminator-keyword case).

Inputs: [cond-type :- ats/SemanticType path :- [s/Any] values :- [s/Any] polarity :- s/Bool]
Returns: (s/maybe ats/SemanticType)

Like `route-conditional-by-predicate`, but for descriptors of `:values`
 shape (e.g. discriminator-keyword case).
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close