Project-scoped registry {qualified-sym → {:pred kw [:class C] :path [kw ...]}}
recognising user-defined fns whose body reduces to a built-in path-type-predicate
on a destructured key of their first parameter. Bound by
skeptic.checking.pipeline/check-ns from project-state; read by
skeptic.analysis.call-kinds.assumption/call-test-assumption so calls like (b-params? params)
propagate as (vector?, [:k], _) narrowing on params.
Project-scoped registry `{qualified-sym → {:pred kw [:class C] :path [kw ...]}}`
recognising user-defined fns whose body reduces to a built-in path-type-predicate
on a destructured key of their first parameter. Bound by
`skeptic.checking.pipeline/check-ns` from project-state; read by
`skeptic.analysis.call-kinds.assumption/call-test-assumption` so calls like `(b-params? params)`
propagate as `(vector?, [:k], _)` narrowing on `params`.(call-info ctx fn-node args)Inputs: [ctx :- s/Any fn-node :- s/Any args :- s/Any] Returns: s/Any
Inputs: [ctx :- s/Any fn-node :- s/Any args :- s/Any] Returns: s/Any
(default-call-info ctx arity output)Inputs: [ctx :- s/Any arity :- s/Int output :- (s/maybe at/SemanticType)] Returns: s/Any
Inputs: [ctx :- s/Any arity :- s/Int output :- (s/maybe at/SemanticType)] Returns: s/Any
(fun-type->call-opts fun-type)Inputs: [fun-type :- at/SemanticType] Returns: CallOpts
Inputs: [fun-type :- at/SemanticType] Returns: CallOpts
(get-key-query ctx node)Inputs: [ctx :- s/Any node :- s/Any] Returns: s/Any
Inputs: [ctx :- s/Any node :- s/Any] Returns: s/Any
(keyword-invoke-kw-and-target node)Inputs: [node :- s/Any] Returns: (s/maybe [(s/one s/Keyword "kw") (s/one s/Any "target")])
When keyword-invoke-on-local?, returns [kw-keyword target-node].
Inputs: [node :- s/Any] Returns: (s/maybe [(s/one s/Keyword "kw") (s/one s/Any "target")]) When `keyword-invoke-on-local?`, returns `[kw-keyword target-node]`.
(keyword-invoke-on-local? node)Inputs: [node :- s/Any] Returns: s/Bool
True for (:k x) as either JVM analyzer :invoke or :keyword-invoke.
Inputs: [node :- s/Any] Returns: s/Bool True for `(:k x)` as either JVM analyzer `:invoke` or `:keyword-invoke`.
(literal-map-key? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(literal-node-value node)Inputs: [node :- s/Any] Returns: s/Any
Inputs: [node :- s/Any] Returns: s/Any
(lookup-summary accessor-summaries ns-sym node)Inputs: [accessor-summaries :- s/Any ns-sym :- (s/maybe s/Symbol) node :- s/Any] Returns: s/Any
Inputs: [accessor-summaries :- s/Any ns-sym :- (s/maybe s/Symbol) node :- s/Any] Returns: s/Any
(lookup-type dict ns-sym node)Inputs: [dict :- s/Any ns-sym :- (s/maybe s/Symbol) node :- s/Any] Returns: s/Any
Inputs: [dict :- s/Any ns-sym :- (s/maybe s/Symbol) node :- s/Any] Returns: s/Any
(map-literal-key-type ctx node)Inputs: [ctx :- s/Any node :- s/Any] Returns: at/SemanticType
Inputs: [ctx :- s/Any node :- s/Any] Returns: at/SemanticType
(node-info node)Inputs: [node :- s/Any] Returns: s/Any
Inputs: [node :- s/Any] Returns: s/Any
(path-predicate-summary-from-form form)Returns {:pred kw :path [kw]} when form is
(s/defn name [doc?] [attr-map?] :- s/Bool [{:keys [...]} :- _] (PRED k))
where PRED is a recognised built-in single-arg type predicate and k is one
of the destructured :keys. Returns nil otherwise.
Only the single-arity, single-body shape is recognised; multi-arity, attr
maps with metadata other than the schema marker, and predicates not in the
built-in registry fall through.
Returns `{:pred kw :path [kw]}` when `form` is
`(s/defn name [doc?] [attr-map?] :- s/Bool [{:keys [...]} :- _] (PRED k))`
where PRED is a recognised built-in single-arg type predicate and `k` is one
of the destructured `:keys`. Returns nil otherwise.
Only the single-arity, single-body shape is recognised; multi-arity, attr
maps with metadata other than the schema marker, and predicates not in the
built-in registry fall through.(qualify-symbol ns-sym sym)Inputs: [ns-sym :- s/Any sym :- s/Any] Returns: s/Any
Inputs: [ns-sym :- s/Any sym :- s/Any] Returns: s/Any
(resolved-call-sym fn-node)Inputs: [fn-node :- s/Any] Returns: (s/maybe s/Symbol)
Inputs: [fn-node :- s/Any] Returns: (s/maybe s/Symbol)
(static-nil?-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(static-nil?-target node)Inputs: [node :- s/Any] Returns: (s/maybe s/Any)
Inputs: [node :- s/Any] Returns: (s/maybe s/Any)
(type-predicate-assumption-info fn-node args)Inputs: [fn-node :- s/Any args :- [s/Any]] Returns: (s/maybe aos/PredInfo)
Inputs: [fn-node :- s/Any args :- [s/Any]] Returns: (s/maybe aos/PredInfo)
(type-predicate-assumption-info-for-sym sym args)Inputs: [sym :- (s/maybe s/Symbol) args :- [s/Any]] Returns: (s/maybe aos/PredInfo)
Inputs: [sym :- (s/maybe s/Symbol) args :- [s/Any]] Returns: (s/maybe aos/PredInfo)
(type-predicate-call? fn-node args)Inputs: [fn-node :- s/Any args :- [s/Any]] Returns: s/Bool
Inputs: [fn-node :- s/Any args :- [s/Any]] Returns: s/Bool
(typed-callable? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(user-fn-path-predicate-info sym)Inputs: [sym :- (s/maybe s/Symbol)] Returns: (s/maybe #:s{Keyword s/Any})
Lookup helper for *user-fn-path-predicate-summaries*.
Inputs: [sym :- (s/maybe s/Symbol)]
Returns: (s/maybe #:s{Keyword s/Any})
Lookup helper for `*user-fn-path-predicate-summaries*`.(var->sym var)Inputs: [var :- s/Any] Returns: (s/maybe s/Symbol)
Inputs: [var :- s/Any] Returns: (s/maybe s/Symbol)
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |