File tree Expand file tree Collapse file tree
Clojure/Clojure.Source/clojure Expand file tree Collapse file tree Original file line number Diff line number Diff line change 514514(defmethod print-method clojure.lang.IDeref [o ^System.IO.TextWriter w]
515515 (print-tagged-object o (deref-as-map o) w))
516516
517- (defmethod print-method System.Diagnostics.StackFrame [^System.Diagnostics.StackFrame o ^System.IO.TextWriter w] ; ;; StackTraceElement ^StackTraceElement
518- (print-method [(symbol (.FullName (.GetType o))) (symbol (.Name (.GetMethod o))) (.GetFileName o) (.GetFileLineNumber o)] w)) ; ;; (.getClassName o) (.getMethodName o) .getFileName .getLineNumber
517+ ; ;; DM:Added
518+ (defn- stack-frame-info [^System.Diagnostics.StackFrame sf]
519+ (if (nil? sf)
520+ nil
521+ (if-let [m (.GetMethod sf)]
522+ [(symbol (.FullName (.DeclaringType m)))
523+ (symbol (.Name m))
524+ (or (.GetFileName sf) " NO_FILE" )
525+ (.GetFileLineNumber sf)]
526+ [" UNKNOWN" " NO_METHOD" " NO_FILE" -1 ])))
527+
528+ (defmethod print-method System.Diagnostics.StackFrame [^System.Diagnostics.StackFrame o ^System.IO.TextWriter w] ; ;; StackTraceElement ^StackTraceElement
529+ (print-method (stack-frame-info o) w)) ; ;;(print-method [(symbol (.getClassName o)) (symbol (.getMethodName o)) (.getFileName o) (.getLineNumber o)] w))
519530
520531(defn StackTraceElement->vec
521532 " Constructs a data representation for a StackTraceElement: [class method file line]"
522533 {:added " 1.9" }
523534 [^System.Diagnostics.StackFrame o]
524535 (if (nil? o)
525536 nil
526- [(symbol (.FullName (.GetType o))) ; ;;;;;;;;;;;;;;;;;;TODO: Need to .GetMethod, then .DeclaringType, then .FullName
527- (if-let [m (.GetMethod o)]
528- (symbol (.Name m))
529- " NO_METHOD" )
530- (or (.GetFileName o) " NO_FILE" )
531- (.GetFileLineNumber o)]))
537+ (stack-frame-info o)))
532538
533539(defn Throwable->map
534540 " Constructs a data representation for a Throwable with keys:
You can’t perform that action at this time.
0 commit comments