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.origin/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.origin/test->assumption` so calls like `(b-params? params)`
propagate as `(vector?, [:k], _)` narrowing on `params`.(assoc-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(blank-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(butlast-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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
(chunk-first-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(concat-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(contains-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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
(dissoc-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(drop-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(drop-last-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(drop-while-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(equality-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(first-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(fun-type->call-opts fun-type)Inputs: [fun-type :- at/SemanticType] Returns: CallOpts
Inputs: [fun-type :- at/SemanticType] Returns: CallOpts
(get-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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
(inc-invoke? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(into-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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`.
(last-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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
(merge-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(minus-invoke? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(multiply-invoke? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(node-info node)Inputs: [node :- s/Any] Returns: s/Any
Inputs: [node :- s/Any] Returns: s/Any
(not-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(nth-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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.(plus-invoke? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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)
(rest-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(second-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(seq-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(static-assoc-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(static-contains-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(static-dissoc-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(static-equality-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(static-get-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(static-merge-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(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)
(static-update-call? node)Inputs: [node :- s/Any] Returns: s/Bool
Inputs: [node :- s/Any] Returns: s/Bool
(take-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(take-while-call? fn-node)Inputs: [fn-node :- s/Any] Returns: s/Bool
Inputs: [fn-node :- s/Any] Returns: s/Bool
(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
(update-call? 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 |