File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change 1435
1435
(core/when-not (= p 'Object)
1436
1436
(core/let [var (ana/resolve-var (dissoc env :locals ) p)
1437
1437
minfo (core/-> var :protocol-info :methods )
1438
- ->name (comp symbol name first)
1438
+ method-name (first method)
1439
+ ->name (comp symbol name)
1439
1440
[fname sigs] (if (core/vector? (second method))
1440
- [(->name method) [(second method)]]
1441
- [(->name method) (map first (rest method))])
1441
+ [(->name method-name ) [(second method)]]
1442
+ [(->name method-name ) (map first (rest method))])
1442
1443
decmeths (core/get minfo fname ::not-found )]
1443
1444
(core/when (= decmeths ::not-found )
1444
1445
(ana/warning :protocol-invalid-method env {:protocol p :fname fname :no-such-method true }))
1446
+ (core/when (namespace method-name)
1447
+ (core/let [method-var (ana/resolve-var (dissoc env :locals ) method-name
1448
+ ana/confirm-var-exist-warning)]
1449
+ (core/when-not (= (:name var) (:protocol method-var))
1450
+ (ana/warning :protocol-invalid-method env
1451
+ {:protocol p :fname method-name :no-such-method true }))))
1445
1452
(core/loop [sigs sigs seen #{}]
1446
1453
(core/when (seq sigs)
1447
1454
(core/let [sig (first sigs)
You can’t perform that action at this time.
0 commit comments