Liking cljdoc? Tell your friends :D

skeptic.analysis.annotate.api


analyzed-def-entryclj

(analyzed-def-entry ns-sym analyzed)

Inputs: [ns-sym :- (s/maybe s/Symbol) analyzed :- aas/AnnotatedNode] Returns: (s/maybe [(s/one s/Symbol "sym") (s/one AnalyzedDefEntry "entry")])

Inputs: [ns-sym :- (s/maybe s/Symbol) analyzed :- aas/AnnotatedNode]
Returns: (s/maybe [(s/one s/Symbol "sym") (s/one AnalyzedDefEntry "entry")])
sourceraw docstring

AnalyzedDefEntryclj

Strict shape of the data side of analyzed-def-entry's tuple. :type is mandatory: a def's value-node MUST carry a :type after the annotator pass. A missing :type means the responsible annotator handler failed to assign a Type, which is a contract violation surfaced as a thrown exception inside analyzed-def-entry.

Strict shape of the data side of `analyzed-def-entry`'s tuple. `:type` is
mandatory: a def's value-node MUST carry a `:type` after the annotator
pass. A missing `:type` means the responsible annotator handler failed to
assign a Type, which is a contract violation surfaced as a thrown
exception inside `analyzed-def-entry`.
sourceraw docstring

AnnotateCtxclj

source

annotated-nodesclj

(annotated-nodes node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

arglist-typesclj

(arglist-types node arity)

Inputs: [node :- aas/AnnotatedNode arity :- s/Any] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode arity :- s/Any]
Returns: s/Any
sourceraw docstring

binding-initclj

(binding-init holder)

Inputs: [holder :- aas/BindingHolder] Returns: (s/maybe aas/AnnotatedNode)

Inputs: [holder :- aas/BindingHolder]
Returns: (s/maybe aas/AnnotatedNode)
sourceraw docstring

bottomclj

(bottom ctx)

Inputs: [ctx] Returns: at/SemanticType

Inputs: [ctx]
Returns: at/SemanticType
sourceraw docstring

branch-origin-kindclj

(branch-origin-kind node)

Inputs: [node :- aas/AnnotatedNode] Returns: (s/maybe s/Keyword)

Inputs: [node :- aas/AnnotatedNode]
Returns: (s/maybe s/Keyword)
sourceraw docstring

branch-test-assumptionclj

(branch-test-assumption node)

Inputs: [node :- aas/AnnotatedNode] Returns: (s/maybe aos/Assumption)

Inputs: [node :- aas/AnnotatedNode]
Returns: (s/maybe aos/Assumption)
sourceraw docstring

call-actual-argtypesclj

(call-actual-argtypes node)

Inputs: [node :- aas/CallNode] Returns: [at/SemanticType]

Inputs: [node :- aas/CallNode]
Returns: [at/SemanticType]
sourceraw docstring

call-argsclj

(call-args node)

Inputs: [node :- (s/conditional (fn* [p1__12764#] (= :invoke (:op p1__12764#))) aas/InvokeNode (fn* [p1__12765#] (= :static-call (:op p1__12765#))) aas/StaticCallNode (fn* [p1__12766#] (= :instance-call (:op p1__12766#))) aas/InstanceCallNode)] Returns: [aas/AnnotatedNode]

Inputs: [node :- (s/conditional (fn* [p1__12764#] (= :invoke (:op p1__12764#))) aas/InvokeNode (fn* [p1__12765#] (= :static-call (:op p1__12765#))) aas/StaticCallNode (fn* [p1__12766#] (= :instance-call (:op p1__12766#))) aas/InstanceCallNode)]
Returns: [aas/AnnotatedNode]
sourceraw docstring

call-expected-argtypesclj

(call-expected-argtypes node)

Inputs: [node :- aas/CallNode] Returns: [at/SemanticType]

Inputs: [node :- aas/CallNode]
Returns: [at/SemanticType]
sourceraw docstring

call-fn-nodeclj

(call-fn-node node)

Inputs: [node :- aas/InvokeNode] Returns: aas/AnnotatedNode

Inputs: [node :- aas/InvokeNode]
Returns: aas/AnnotatedNode
sourceraw docstring

call-node?clj

(call-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

call-refsclj

(call-refs node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

callee-refclj

(callee-ref node)

Inputs: [node :- (s/maybe aas/AnnotatedNode)] Returns: s/Any

Inputs: [node :- (s/maybe aas/AnnotatedNode)]
Returns: s/Any
sourceraw docstring

case-test-node?clj

(case-test-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

const-nil?clj

(const-nil? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

const-node?clj

(const-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

const-or-quote?clj

(const-or-quote? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

current-loop-id-keyclj

Skeptic-owned ctx key carrying the current enclosing loop's stamped id. Producers: annotate-loop mints and binds; annotate-recur reads.

Skeptic-owned ctx key carrying the current enclosing loop's stamped id.
Producers: `annotate-loop` mints and binds; `annotate-recur` reads.
sourceraw docstring

def-init-nodeclj

(def-init-node node)

Inputs: [node :- aas/DefNode] Returns: (s/maybe aas/AnnotatedNode)

Inputs: [node :- aas/DefNode]
Returns: (s/maybe aas/AnnotatedNode)
sourceraw docstring

def-node?clj

(def-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

def-value-nodeclj

(def-value-node node)

Inputs: [node :- aas/AnnotatedNode] Returns: (s/maybe aas/AnnotatedNode)

Inputs: [node :- aas/AnnotatedNode]
Returns: (s/maybe aas/AnnotatedNode)
sourceraw docstring

dynclj

(dyn ctx)

Inputs: [ctx] Returns: at/SemanticType

Inputs: [ctx]
Returns: at/SemanticType
sourceraw docstring

else-nodeclj

(else-node node)

Inputs: [node :- aas/IfNode] Returns: aas/AnnotatedNode

Inputs: [node :- aas/IfNode]
Returns: aas/AnnotatedNode
sourceraw docstring

exact-value-typeclj

(exact-value-type ctx value)

Inputs: [ctx value] Returns: at/SemanticType

Inputs: [ctx value]
Returns: at/SemanticType
sourceraw docstring

find-nodeclj

(find-node root pred)

Inputs: [root :- aas/AnnotatedNode pred :- s/Any] Returns: s/Any

Inputs: [root :- aas/AnnotatedNode pred :- s/Any]
Returns: s/Any
sourceraw docstring

fn-node?clj

(fn-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

function-methodsclj

(function-methods node)

Inputs: [node :- aas/FnNode] Returns: [aas/AnnotatedNode]

Inputs: [node :- aas/FnNode]
Returns: [aas/AnnotatedNode]
sourceraw docstring

if-node?clj

(if-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

invoke-like?clj

(invoke-like? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

invoke-node?clj

(invoke-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

invoke-opsclj

source

let-node?clj

(let-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

local-node?clj

(local-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

local-resolution-pathclj

(local-resolution-path local-node)

Inputs: [local-node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [local-node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

local-vars-contextclj

(local-vars-context node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

local-with-init?clj

(local-with-init? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

loop-id-keyclj

Skeptic-owned key stamped on annotated :recur nodes by annotate-recur, identifying the annotate-loop / annotate-fn-method pass that produced them. Does not depend on the analyzer's :loop-id field (clj-only).

Skeptic-owned key stamped on annotated `:recur` nodes by `annotate-recur`,
identifying the `annotate-loop` / `annotate-fn-method` pass that produced
them. Does not depend on the analyzer's `:loop-id` field (clj-only).
sourceraw docstring

loop-recur-idclj

(loop-recur-id node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Read the Skeptic-stamped loop id from a :recur node. Returns nil for unannotated recurs (structure-shared subtrees not visited by this pass).

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any

Read the Skeptic-stamped loop id from a `:recur` node. Returns nil for
 unannotated recurs (structure-shared subtrees not visited by this pass).
sourceraw docstring

method-bodyclj

(method-body node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

method-result-typeclj

(method-result-type method)

Inputs: [method :- s/Any] Returns: s/Any

Inputs: [method :- s/Any]
Returns: s/Any
sourceraw docstring

node-bindingsclj

(node-bindings node)

Inputs: [node :- (s/conditional (fn* [p1__12638#] (= :let (:op p1__12638#))) aas/LetNode (fn* [p1__12639#] (= :loop (:op p1__12639#))) aas/LoopNode)] Returns: [aas/AnnotatedNode]

Inputs: [node :- (s/conditional (fn* [p1__12638#] (= :let (:op p1__12638#))) aas/LetNode (fn* [p1__12639#] (= :loop (:op p1__12639#))) aas/LoopNode)]
Returns: [aas/AnnotatedNode]
sourceraw docstring

node-bodyclj

(node-body node)

Inputs: [node :- (s/conditional (fn* [p1__12575#] (= :let (:op p1__12575#))) aas/LetNode (fn* [p1__12576#] (= :loop (:op p1__12576#))) aas/LoopNode (fn* [p1__12577#] (= :fn-method (:op p1__12577#))) aas/FnMethodNode)] Returns: aas/AnnotatedNode

Inputs: [node :- (s/conditional (fn* [p1__12575#] (= :let (:op p1__12575#))) aas/LetNode (fn* [p1__12576#] (= :loop (:op p1__12576#))) aas/LoopNode (fn* [p1__12577#] (= :fn-method (:op p1__12577#))) aas/FnMethodNode)]
Returns: aas/AnnotatedNode
sourceraw docstring

node-childrenclj

(node-children node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-classclj

(node-class node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-fn-typeclj

(node-fn-type node)

Inputs: [node :- aas/AnnotatedNode] Returns: (s/maybe at/SemanticType)

Inputs: [node :- aas/AnnotatedNode]
Returns: (s/maybe at/SemanticType)
sourceraw docstring

node-formclj

(node-form node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-fun-typeclj

(node-fun-type node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-infoclj

(node-info node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-info-nameclj

(node-info-name node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

cljs :var op nodes carry the fully-qualified call symbol at :info :name (e.g. 'cljs.core/apply). JVM :var op nodes carry the resolved Var at :var instead. Returns nil for JVM nodes.

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any

cljs `:var` op nodes carry the fully-qualified call symbol at `:info :name`
(e.g. `'cljs.core/apply`). JVM `:var` op nodes carry the resolved Var at
`:var` instead. Returns nil for JVM nodes.
sourceraw docstring

node-initclj

(node-init node)

Inputs: [node :- (s/conditional (fn* [p1__12608#] (= :binding (:op p1__12608#))) aas/BindingNode (fn* [p1__12609#] (= :def (:op p1__12609#))) aas/DefNode)] Returns: (s/maybe aas/AnnotatedNode)

Inputs: [node :- (s/conditional (fn* [p1__12608#] (= :binding (:op p1__12608#))) aas/BindingNode (fn* [p1__12609#] (= :def (:op p1__12609#))) aas/DefNode)]
Returns: (s/maybe aas/AnnotatedNode)
sourceraw docstring

node-instance-targetclj

(node-instance-target node)

Inputs: [node :- aas/InstanceOfNode] Returns: aas/AnnotatedNode

Inputs: [node :- aas/InstanceOfNode]
Returns: aas/AnnotatedNode
sourceraw docstring

node-keywordclj

(node-keyword node)

Inputs: [node :- aas/KeywordInvokeNode] Returns: aas/AnnotatedNode

Inputs: [node :- aas/KeywordInvokeNode]
Returns: aas/AnnotatedNode
sourceraw docstring

node-locationclj

(node-location node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-methodclj

(node-method node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-nameclj

(node-name node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-opclj

(node-op node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Keyword

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Keyword
sourceraw docstring

node-originclj

(node-origin node)

Inputs: [node :- aas/AnnotatedNode] Returns: (s/maybe aos/Origin)

Inputs: [node :- aas/AnnotatedNode]
Returns: (s/maybe aos/Origin)
sourceraw docstring

node-output-typeclj

(node-output-type node)

Inputs: [node :- aas/AnnotatedNode] Returns: (s/maybe at/SemanticType)

Inputs: [node :- aas/AnnotatedNode]
Returns: (s/maybe at/SemanticType)
sourceraw docstring

node-raw-formsclj

(node-raw-forms node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-refclj

(node-ref node)

Inputs: [node :- (s/maybe aas/AnnotatedNode)] Returns: s/Any

Inputs: [node :- (s/maybe aas/AnnotatedNode)]
Returns: s/Any
sourceraw docstring

node-tagclj

(node-tag node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-targetclj

(node-target node)

Inputs: [node :- aas/KeywordInvokeNode] Returns: aas/AnnotatedNode

Inputs: [node :- aas/KeywordInvokeNode]
Returns: aas/AnnotatedNode
sourceraw docstring

node-testclj

(node-test node)

Inputs: [node :- aas/IfNode] Returns: aas/AnnotatedNode

Inputs: [node :- aas/IfNode]
Returns: aas/AnnotatedNode
sourceraw docstring

node-typeclj

(node-type node)

Inputs: [node :- aas/AnnotatedNode] Returns: (s/maybe at/SemanticType)

Inputs: [node :- aas/AnnotatedNode]
Returns: (s/maybe at/SemanticType)
sourceraw docstring

node-valueclj

(node-value node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

node-varclj

(node-var node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

normalize-typeclj

(normalize-type ctx value)

Inputs: [ctx value] Returns: at/SemanticType

Inputs: [ctx value]
Returns: at/SemanticType
sourceraw docstring

quote-node?clj

(quote-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

recur-argsclj

(recur-args node)

Inputs: [node :- aas/RecurNode] Returns: [aas/AnnotatedNode]

Inputs: [node :- aas/RecurNode]
Returns: [aas/AnnotatedNode]
sourceraw docstring

recur-node?clj

(recur-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

resolved-def-output-typeclj

(resolved-def-output-type resolved-defs sym)

Inputs: [resolved-defs :- s/Any sym :- s/Any] Returns: s/Any

Inputs: [resolved-defs :- s/Any sym :- s/Any]
Returns: s/Any
sourceraw docstring

stable-identity-node?clj

(stable-identity-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

True for any node that names a stable identity for narrowing purposes: lexical locals, top-level vars, and var-ref forms.

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any

True for any node that names a stable identity for narrowing
 purposes: lexical locals, top-level vars, and var-ref forms.
sourceraw docstring

static-call-node?clj

(static-call-node? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

strip-derived-typesclj

(strip-derived-types value)

Inputs: [value :- s/Any] Returns: s/Any

Inputs: [value :- s/Any]
Returns: s/Any
sourceraw docstring

synthetic-binding-nodeclj

(synthetic-binding-node idx sym)

Inputs: [idx :- s/Any sym :- s/Any] Returns: aas/AnnotatedNode

Inputs: [idx :- s/Any sym :- s/Any]
Returns: aas/AnnotatedNode
sourceraw docstring

then-nodeclj

(then-node node)

Inputs: [node :- aas/IfNode] Returns: aas/AnnotatedNode

Inputs: [node :- aas/IfNode]
Returns: aas/AnnotatedNode
sourceraw docstring

typed-call-metadata-only?clj

(typed-call-metadata-only? node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

unwrap-with-metaclj

(unwrap-with-meta node)

Inputs: [node :- aas/AnnotatedNode] Returns: s/Any

Inputs: [node :- aas/AnnotatedNode]
Returns: s/Any
sourceraw docstring

with-loop-idclj

(with-loop-id node id)

Inputs: [node :- aas/AnnotatedNode id :- s/Any] Returns: aas/AnnotatedNode

Inputs: [node :- aas/AnnotatedNode id :- s/Any]
Returns: aas/AnnotatedNode
sourceraw docstring

with-typeclj

(with-type node type)

Inputs: [node :- aas/AnnotatedNode type :- at/SemanticType] Returns: s/Any

Public setter for the inferred value-type of an annotated node. Use this (not raw (assoc node :type ...)) from any code that does not own node shape.

Inputs: [node :- aas/AnnotatedNode type :- at/SemanticType]
Returns: s/Any

Public setter for the inferred value-type of an annotated node.
 Use this (not raw (assoc node :type ...)) from any code that does not own node shape.
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