File tree Expand file tree Collapse file tree 2 files changed +54
-0
lines changed Expand file tree Collapse file tree 2 files changed +54
-0
lines changed Original file line number Diff line number Diff line change
1
+ {:lint-as {manifold.utils/definterface+ clojure.core/definterface
2
+ manifold.utils/deftype+ clojure.core/deftype
3
+ manifold.utils/defrecord+ clojure.core/defrecord
4
+ manifold.utils/defprotocol+ clojure.core/defprotocol
5
+ manifold.stream.core/def-source clojure.core/deftype
6
+ manifold.stream.core/def-sink clojure.core/deftype
7
+ manifold.stream.core/def-sink+source clojure.core/deftype}
8
+
9
+ :hooks {:analyze-call
10
+ {manifold.stream.core/def-source manifold.hooks/def-sink-or-source
11
+ manifold.stream.core/def-sink manifold.hooks/def-sink-or-source
12
+ manifold.stream.core/def-sink+source manifold.hooks/def-sink-or-source}}
13
+
14
+
15
+ :config-in-call {manifold.stream.core/def-sink+source
16
+ {:linters {:redefined-var {:level :off }}}
17
+
18
+ manifold.stream.core/def-sink
19
+ {:linters {:redefined-var {:level :off }}}
20
+
21
+ manifold.stream.core/def-source
22
+ {:linters {:redefined-var {:level :off }}}}
23
+
24
+ :config-paths [" ../resources/clj-kondo.exports/manifold/manifold/" ]}
Original file line number Diff line number Diff line change
1
+ (ns manifold.hooks
2
+ (:require [clj-kondo.hooks-api :as api]))
3
+
4
+ (defn- cons-vector-node
5
+ [node parent]
6
+ (api/vector-node (cons node (:children parent))))
7
+
8
+ (defn def-sink-or-source [call]
9
+ (let [[name bindings & body] (-> call :node :children rest)
10
+ extended-bindings
11
+ (cons-vector-node (api/token-node 'lock) bindings)]
12
+
13
+ {:node
14
+ (api/list-node
15
+ (list
16
+ (api/token-node 'do)
17
+
18
+ (api/list-node
19
+ (list*
20
+ (api/token-node 'deftype)
21
+ name
22
+ extended-bindings
23
+ body))
24
+
25
+ (api/list-node
26
+ (list
27
+ (api/token-node 'defn)
28
+ (api/token-node (symbol (str " ->" (:string-value name))))
29
+ bindings
30
+ ))))}))
You can’t perform that action at this time.
0 commit comments