Skip to content

Commit

Permalink
Fixed field reflection & and some def-in-def cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
jonase committed Feb 25, 2012
1 parent 440e756 commit 8e41f81
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
8 changes: 7 additions & 1 deletion src/brittle/core.clj
Expand Up @@ -27,4 +27,10 @@




(defn defndef [x] (defn defndef [x]
(def a 3)) (def a 3))

;; This is often ok.
(defmacro ^:private defindefmacro []
(def b nil))

(defrecord SomeRecord [])
3 changes: 1 addition & 2 deletions src/eastwood/linters/misc.clj
Expand Up @@ -58,12 +58,11 @@


;; Def-in-def ;; Def-in-def



(defn def-in-def [exprs] (defn def-in-def [exprs]
(doseq [expr (mapcat expr-seq exprs) (doseq [expr (mapcat expr-seq exprs)
:when (and (= (:op expr) :def) :when (and (= (:op expr) :def)
(-> expr :var meta :macro not))] (-> 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))))) (println "There is a def inside" (:var expr)))))




6 changes: 2 additions & 4 deletions src/eastwood/linters/reflection.clj
Expand Up @@ -7,7 +7,7 @@
(not (:method expr))) (not (:method expr)))


(defmethod reflective-call? :instance-field [expr] (defmethod reflective-call? :instance-field [expr]
(not (:method expr))) (not (:field expr)))


(defmethod reflective-call? :default [_] false) (defmethod reflective-call? :default [_] false)


Expand All @@ -27,7 +27,5 @@


(defn reflection [exprs] (defn reflection [exprs]
(doseq [expr (mapcat expr-seq exprs) (doseq [expr (mapcat expr-seq exprs)
:when (and (reflective-call? expr) :when (reflective-call? expr)]
(not (= "__methodImplCache"
(:field-name expr))))]
(report expr))) (report expr)))

0 comments on commit 8e41f81

Please sign in to comment.