File tree Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change 3351
3351
; ; (. (...) -p)
3352
3352
(defmethod build-dot-form [::expr ::property ()]
3353
3353
[[target prop _]]
3354
- {:dot-action ::access :target target :field (-> prop name (.substring 1 ) symbol)})
3354
+ {:dot-action ::access :target target
3355
+ :field (with-meta (-> prop name (.substring 1 ) symbol) (meta prop))})
3355
3356
3356
3357
; ; (. o -p <args>)
3357
3358
(defmethod build-dot-form [::expr ::property ::list ]
3410
3411
update-in [:prefix ] (fnil conj '[Object]) prop))
3411
3412
nil )]
3412
3413
(when (and (not= 'constructor prop)
3413
- (not (string/starts-with? (str prop) " cljs$" )))
3414
+ (not (string/starts-with? (str prop) " cljs$" ))
3415
+ (not (-> prop meta :protocol-method )))
3414
3416
; ; Adding to Object
3415
3417
(when (= 'Object (first (-> tag meta :prefix )))
3416
3418
(warning :infer-warning env
Original file line number Diff line number Diff line change 2109
2109
; ; check protocol property on object (first check executed)
2110
2110
check
2111
2111
`(if (and (not (nil? ~fsig))
2112
- (not (nil? (. ~fsig ~(symbol (core/str " -" slot)))))) ; ; Property access needed here.
2112
+ ; ; Property access needed here.
2113
+ (not (nil? (. ~fsig ~(with-meta (symbol (core/str " -" slot)) {:protocol-method true })))))
2113
2114
(. ~fsig ~slot ~@sig)
2114
2115
(~dyn-name ~@sig))]
2115
2116
`(~sig ~check)))
2160
2161
(defn ~fname
2161
2162
~@(map (core/fn [sig]
2162
2163
(expand-sig dyn-name
2163
- (symbol (core/str slot " $arity$" (count sig)))
2164
+ (with-meta (symbol (core/str slot " $arity$" (count sig)))
2165
+ {:protocol-method true })
2164
2166
sig))
2165
2167
sigs)))))]
2166
2168
`(do
You can’t perform that action at this time.
0 commit comments