diff --git a/src/brittle/core.clj b/src/brittle/core.clj index 8a847e61..9d52b0d1 100644 --- a/src/brittle/core.clj +++ b/src/brittle/core.clj @@ -27,4 +27,10 @@ (defn defndef [x] - (def a 3)) \ No newline at end of file + (def a 3)) + +;; This is often ok. +(defmacro ^:private defindefmacro [] + (def b nil)) + +(defrecord SomeRecord []) \ No newline at end of file diff --git a/src/eastwood/linters/misc.clj b/src/eastwood/linters/misc.clj index 114e6774..c406bf00 100644 --- a/src/eastwood/linters/misc.clj +++ b/src/eastwood/linters/misc.clj @@ -58,12 +58,11 @@ ;; Def-in-def - (defn def-in-def [exprs] (doseq [expr (mapcat expr-seq exprs) :when (and (= (:op expr) :def) (-> expr :var meta :macro not))] - (if (some #(= (:op %) :def) (rest (expr-seq expr))) + (when (some #(= (:op %) :def) (rest (expr-seq expr))) (println "There is a def inside" (:var expr))))) diff --git a/src/eastwood/linters/reflection.clj b/src/eastwood/linters/reflection.clj index 1079ce5a..06c0b71a 100644 --- a/src/eastwood/linters/reflection.clj +++ b/src/eastwood/linters/reflection.clj @@ -7,7 +7,7 @@ (not (:method expr))) (defmethod reflective-call? :instance-field [expr] - (not (:method expr))) + (not (:field expr))) (defmethod reflective-call? :default [_] false) @@ -27,7 +27,5 @@ (defn reflection [exprs] (doseq [expr (mapcat expr-seq exprs) - :when (and (reflective-call? expr) - (not (= "__methodImplCache" - (:field-name expr))))] + :when (reflective-call? expr)] (report expr)))