1 line
53 KiB
Clojure
1 line
53 KiB
Clojure
{:rename-macros {}, :renames {}, :externs {Error {}, String {}, parseInt {}}, :use-macros {safe-call devtools.oops, oget devtools.oops, get-fast-path-protocol-partitions-count devtools.munging, ocall devtools.oops, get-fast-path-protocols-lookup-table devtools.munging}, :excludes #{js-reserved?}, :name devtools.munging, :imports {StringBuffer goog.string.StringBuffer}, :requires {string clojure.string, clojure.string clojure.string, context devtools.context, devtools.context devtools.context, gobj goog.object, goog.object goog.object, StringBuffer goog.string.StringBuffer}, :cljs.spec/speced-vars [], :uses nil, :defs {args-lists-to-strings {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 445, :column 7, :end-line 445, :end-column 28, :arglists (quote ([args-lists spacer-symbol multi-arity-symbol rest-symbol])), :doc "Converts a list of arguments lists into a list of strings suitable for UI presentation."}, :name devtools.munging/args-lists-to-strings, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 28, :method-params ([args-lists spacer-symbol multi-arity-symbol rest-symbol]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 445, :end-line 445, :max-fixed-arity 4, :fn-var true, :arglists (quote ([args-lists spacer-symbol multi-arity-symbol rest-symbol])), :doc "Converts a list of arguments lists into a list of strings suitable for UI presentation."}, get-basis {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 505, :column 7, :end-line 505, :end-column 16, :arglists (quote ([f]))}, :name devtools.munging/get-basis, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 16, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 505, :end-line 505, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f]))}, humanize-name {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 337, :column 7, :end-line 337, :end-column 20, :arglists (quote ([state name])), :doc "Given a name and intermediate state. Convert name to a human readable version by keeping human readable prefix with\n optional subscribt postfix and store it in ::result. Subscript number is picked based on state. State keeps track of\n previously assigned subscripts. Returns a new state."}, :name devtools.munging/humanize-name, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 20, :method-params ([state name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 337, :end-line 337, :max-fixed-arity 2, :fn-var true, :arglists (quote ([state name])), :doc "Given a name and intermediate state. Convert name to a human readable version by keeping human readable prefix with\n optional subscribt postfix and store it in ::result. Subscript number is picked based on state. State keeps track of\n previously assigned subscripts. Returns a new state."}, find-index-of-human-prefix {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 323, :column 7, :end-line 323, :end-column 33, :arglists (quote ([name])), :doc "Given a demunged ClojureScript parameter name. Tries to detect human readable part and returns the index where it ends.\n Returns nil if no prefix can be detected.\n\n The idea is to convert macro-generated parameters and other generated names to more friendly names.\n We observed that param names generated by gensym have prefix followed by big numbers.\n Other generated names contain two dashes after prefix (originally probably using underscores)."}, :name devtools.munging/find-index-of-human-prefix, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 33, :method-params ([name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 323, :end-line 323, :max-fixed-arity 1, :fn-var true, :arglists (quote ([name])), :doc "Given a demunged ClojureScript parameter name. Tries to detect human readable part and returns the index where it ends.\n Returns nil if no prefix can be detected.\n\n The idea is to convert macro-generated parameters and other generated names to more friendly names.\n We observed that param names generated by gensym have prefix followed by big numbers.\n Other generated names contain two dashes after prefix (originally probably using underscores)."}, protocol-descriptors-comparator {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 587, :column 7, :end-line 587, :end-column 38, :arglists (quote ([a b]))}, :name devtools.munging/protocol-descriptors-comparator, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 38, :method-params ([a b]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 587, :end-line 587, :max-fixed-arity 2, :fn-var true, :arglists (quote ([a b]))}, make-subscript {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 86, :column 7, :end-line 86, :end-column 21, :arglists (quote ([subscript])), :doc "Given a subscript number converts it into a string representation consisting of unicode subscript characters (digits)."}, :name devtools.munging/make-subscript, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 21, :method-params ([subscript]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 86, :end-line 86, :max-fixed-arity 1, :fn-var true, :arglists (quote ([subscript])), :doc "Given a subscript number converts it into a string representation consisting of unicode subscript characters (digits)."}, trivial-fn-source? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 138, :column 7, :end-line 138, :end-column 25, :arglists (quote ([fn-source]))}, :name devtools.munging/trivial-fn-source?, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 25, :method-params ([fn-source]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 138, :end-line 138, :max-fixed-arity 1, :fn-var true, :arglists (quote ([fn-source]))}, char-to-subscript {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 75, :column 7, :end-line 75, :end-column 24, :arglists (quote ([char])), :doc "Given a character with a single digit converts it into a subscript character.\n Zero chracter maps to unicode 'SUBSCRIPT ZERO' (U+2080)."}, :name devtools.munging/char-to-subscript, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 24, :method-params ([char]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 75, :end-line 75, :max-fixed-arity 1, :fn-var true, :arglists (quote ([char])), :doc "Given a character with a single digit converts it into a subscript character.\n Zero chracter maps to unicode 'SUBSCRIPT ZERO' (U+2080)."}, proper-arg-demunge {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 186, :column 7, :end-line 186, :end-column 25, :arglists (quote ([munged-arg-name]))}, :name devtools.munging/proper-arg-demunge, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 25, :method-params ([munged-arg-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 186, :end-line 186, :max-fixed-arity 1, :fn-var true, :arglists (quote ([munged-arg-name]))}, js-reserved? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 39, :column 7, :end-line 39, :end-column 19, :arglists (quote ([x]))}, :name devtools.munging/js-reserved?, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 19, :method-params ([x]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 39, :end-line 39, :max-fixed-arity 1, :fn-var true, :arglists (quote ([x]))}, fast-path-protocols-lookup-table {:name devtools.munging/fast-path-protocols-lookup-table, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :line 551, :column 1, :end-line 551, :end-column 38, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 551, :column 6, :end-line 551, :end-column 38}, :tag cljs.core/Delay}, present-fn-part {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 471, :column 7, :end-line 471, :end-column 22, :arglists (quote ([fn-ns fn-name include-ns?]))}, :name devtools.munging/present-fn-part, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 22, :method-params ([fn-ns fn-name include-ns?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 471, :end-line 471, :max-fixed-arity 3, :fn-var true, :arglists (quote ([fn-ns fn-name include-ns?]))}, collect-fn-arities {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 390, :column 7, :end-line 390, :end-column 25, :arglists (quote ([f])), :doc "Given a Javascript function object, tries to inspect known arity properties generated by ClojureScript compiler and\n collects all available arity functions into a map. Arities are keyed by arity count and variadic arity gets ::variadic key."}, :name devtools.munging/collect-fn-arities, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 25, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 390, :end-line 390, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f])), :doc "Given a Javascript function object, tries to inspect known arity properties generated by ClojureScript compiler and\n collects all available arity functions into a map. Arities are keyed by arity count and variadic arity gets ::variadic key."}, protocol-path {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 522, :column 7, :end-line 522, :end-column 20, :arglists (quote ([protocol-selector]))}, :name devtools.munging/protocol-path, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 20, :method-params ([protocol-selector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 522, :end-line 522, :max-fixed-arity 1, :fn-var true, :arglists (quote ([protocol-selector]))}, key-for-protocol-partition {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 553, :column 7, :end-line 553, :end-column 33, :arglists (quote ([partition]))}, :name devtools.munging/key-for-protocol-partition, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 33, :method-params ([partition]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 553, :end-line 553, :max-fixed-arity 1, :fn-var true, :arglists (quote ([partition]))}, collect-protocol-methods {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 596, :column 7, :end-line 596, :end-column 31, :arglists (quote ([obj protocol-selector]))}, :name devtools.munging/collect-protocol-methods, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 31, :method-params ([obj protocol-selector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 596, :end-line 596, :max-fixed-arity 2, :fn-var true, :arglists (quote ([obj protocol-selector]))}, reserved-aware-demunge {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 178, :column 7, :end-line 178, :end-column 29, :arglists (quote ([munged-name]))}, :name devtools.munging/reserved-aware-demunge, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 29, :method-params ([munged-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 178, :end-line 178, :max-fixed-arity 1, :fn-var true, :arglists (quote ([munged-name]))}, arity-keywords-comparator {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 403, :column 7, :end-line 403, :end-column 32, :arglists (quote ([x y])), :doc "::variadic goes last, other keywords compare by name."}, :name devtools.munging/arity-keywords-comparator, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 32, :method-params ([x y]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 403, :end-line 403, :max-fixed-arity 2, :fn-var true, :arglists (quote ([x y])), :doc "::variadic goes last, other keywords compare by name."}, extract-arities {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 462, :column 7, :end-line 462, :end-column 22, :arglists (quote ([f humanize? spacer-symbol multi-arity-symbol rest-symbol]))}, :name devtools.munging/extract-arities, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 22, :method-params ([f humanize? spacer-symbol multi-arity-symbol rest-symbol]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 462, :end-line 462, :max-fixed-arity 5, :fn-var true, :arglists (quote ([f humanize? spacer-symbol multi-arity-symbol rest-symbol]))}, arities-key-comparator {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 411, :column 7, :end-line 411, :end-column 29, :arglists (quote ([x y])), :doc "numbers go first (ordered), then keywords (ordered by name), and then ::variadic sticks last"}, :name devtools.munging/arities-key-comparator, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 29, :method-params ([x y]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 411, :end-line 411, :max-fixed-arity 2, :fn-var true, :arglists (quote ([x y])), :doc "numbers go first (ordered), then keywords (ordered by name), and then ::variadic sticks last"}, get-fn-max-fixed-arity {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 58, :column 7, :end-line 58, :end-column 29, :arglists (quote ([f]))}, :name devtools.munging/get-fn-max-fixed-arity, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 29, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 58, :end-line 58, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f]))}, common-protocol? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 467, :column 7, :end-line 467, :end-column 23, :arglists (quote ([protocol-ns protocol-name]))}, :name devtools.munging/common-protocol?, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 23, :method-params ([protocol-ns protocol-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 467, :end-line 467, :max-fixed-arity 2, :fn-var true, :arglists (quote ([protocol-ns protocol-name]))}, break-munged-name {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 239, :column 7, :end-line 239, :end-column 24, :arglists (quote ([munged-name] [munged-name ns-detector])), :doc "Given a munged-name from Javascript lands attempts to break it into:\n [fn-ns fn-name protocol-ns protocol-name protocol-method arity].\n\n Protocol and arity elements are optional. Function elements are always present or \"\".\n\n examples for input:\n cljs$core$rest => ['cljs.core', 'rest']\n cljs.core.reduce$cljs$core$IFn$_invoke$arity$3 => ['cljs.core' 'reduce' 'cljs.core' 'IFn' '_invoke' 3]", :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([munged-name] [munged-name ns-detector]), :arglists ([munged-name] [munged-name ns-detector]), :arglists-meta (nil nil)}}, :name devtools.munging/break-munged-name, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 24, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([munged-name] [munged-name ns-detector]), :arglists ([munged-name] [munged-name ns-detector]), :arglists-meta (nil nil)}, :method-params ([munged-name] [munged-name ns-detector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 239, :end-line 239, :max-fixed-arity 2, :fn-var true, :arglists ([munged-name] [munged-name ns-detector]), :doc "Given a munged-name from Javascript lands attempts to break it into:\n [fn-ns fn-name protocol-ns protocol-name protocol-method arity].\n\n Protocol and arity elements are optional. Function elements are always present or \"\".\n\n examples for input:\n cljs$core$rest => ['cljs.core', 'rest']\n cljs.core.reduce$cljs$core$IFn$_invoke$arity$3 => ['cljs.core' 'reduce' 'cljs.core' 'IFn' '_invoke' 3]"}, present-function-name {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 482, :column 7, :end-line 482, :end-column 28, :arglists (quote ([munged-name options])), :doc "Given javascript function name tries to present it as plain string for display in UI on best effort basis."}, :name devtools.munging/present-function-name, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 28, :method-params ([munged-name options]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 482, :end-line 482, :max-fixed-arity 2, :fn-var true, :arglists (quote ([munged-name options])), :doc "Given javascript function name tries to present it as plain string for display in UI on best effort basis."}, char-to-superscript {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 92, :column 7, :end-line 92, :end-column 26, :arglists (quote ([char])), :doc "Given a character with a single digit converts it into a superscript character.\n Zero chracter maps to unicode 'SUPERSCRIPT ZERO' (U+2070)."}, :name devtools.munging/char-to-superscript, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 26, :method-params ([char]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 92, :end-line 92, :max-fixed-arity 1, :fn-var true, :arglists (quote ([char])), :doc "Given a character with a single digit converts it into a superscript character.\n Zero chracter maps to unicode 'SUPERSCRIPT ZERO' (U+2070)."}, get-fn-variadic-arity {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 55, :column 7, :end-line 55, :end-column 28, :arglists (quote ([f]))}, :name devtools.munging/get-fn-variadic-arity, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 28, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 55, :end-line 55, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f]))}, scan-protocols {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 590, :column 7, :end-line 590, :end-column 21, :arglists (quote ([obj]))}, :name devtools.munging/scan-protocols, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 21, :method-params ([obj]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 590, :end-line 590, :max-fixed-arity 1, :fn-var true, :arglists (quote ([obj]))}, get-protocol-object {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 525, :column 7, :end-line 525, :end-column 26, :arglists (quote ([protocol-selector]))}, :name devtools.munging/get-protocol-object, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 26, :method-params ([protocol-selector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 525, :end-line 525, :max-fixed-arity 1, :fn-var true, :arglists (quote ([protocol-selector]))}, parse-fn-source {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 123, :column 7, :end-line 123, :end-column 22, :arglists (quote ([fn-source])), :doc "Given a function source code parses out [name args]. Note that both strings are still munged.\n Suitable for further processing.\n\n For exampe for input below the function will return [\"devtools_sample$core$hello\" \"name, unused_param\"]:\n\n function devtools_sample$core$hello(name, unused_param){\n return [cljs.core.str(\"hello, \"),cljs.core.str(name),cljs.core.str(\"!\")].join('');\n }\n "}, :name devtools.munging/parse-fn-source, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 22, :method-params ([fn-source]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 123, :end-line 123, :max-fixed-arity 1, :fn-var true, :arglists (quote ([fn-source])), :doc "Given a function source code parses out [name args]. Note that both strings are still munged.\n Suitable for further processing.\n\n For exampe for input below the function will return [\"devtools_sample$core$hello\" \"name, unused_param\"]:\n\n function devtools_sample$core$hello(name, unused_param){\n return [cljs.core.str(\"hello, \"),cljs.core.str(name),cljs.core.str(\"!\")].join('');\n }\n "}, ns-exists? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 196, :column 7, :end-line 196, :end-column 17, :arglists (quote ([ns-module-name]))}, :name devtools.munging/ns-exists?, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 17, :method-params ([ns-module-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 196, :end-line 196, :max-fixed-arity 1, :fn-var true, :arglists (quote ([ns-module-name]))}, get-protocol-selector {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 536, :column 7, :end-line 536, :end-column 28, :arglists (quote ([key]))}, :name devtools.munging/get-protocol-selector, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 28, :method-params ([key]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 536, :end-line 536, :max-fixed-arity 1, :fn-var true, :arglists (quote ([key]))}, convert-to-protocol-descriptor {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 584, :column 7, :end-line 584, :end-column 37, :arglists (quote ([fast? [ns name selector]]))}, :name devtools.munging/convert-to-protocol-descriptor, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 37, :method-params ([fast? p__38978]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 584, :end-line 584, :max-fixed-arity 2, :fn-var true, :arglists (quote ([fast? [ns name selector]]))}, review-arities {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 382, :column 7, :end-line 382, :end-column 21, :arglists (quote ([arities])), :doc "Some arities can be marked as fixed arity but in fact point to a variadic-arity function. We want to detect this case\n and turn such improperly categorized arities to ::variadic."}, :name devtools.munging/review-arities, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 21, :method-params ([arities]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 382, :end-line 382, :max-fixed-arity 1, :fn-var true, :arglists (quote ([arities])), :doc "Some arities can be marked as fixed arity but in fact point to a variadic-arity function. We want to detect this case\n and turn such improperly categorized arities to ::variadic."}, scan-fast-path-protocols-partition {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 556, :column 7, :end-line 556, :end-column 41, :arglists (quote ([obj partition]))}, :name devtools.munging/scan-fast-path-protocols-partition, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 41, :method-params ([obj partition]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 556, :end-line 556, :max-fixed-arity 2, :fn-var true, :arglists (quote ([obj partition]))}, proper-ns-demunge {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 191, :column 7, :end-line 191, :end-column 24, :arglists (quote ([munged-ns-name]))}, :name devtools.munging/proper-ns-demunge, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 24, :method-params ([munged-ns-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 191, :end-line 191, :max-fixed-arity 1, :fn-var true, :arglists (quote ([munged-ns-name]))}, strip-arity {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 225, :column 7, :end-line 225, :end-column 18, :arglists (quote ([tokens]))}, :name devtools.munging/strip-arity, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 18, :method-params ([tokens]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 225, :end-line 225, :max-fixed-arity 1, :fn-var true, :arglists (quote ([tokens]))}, scan-slow-path-protocols {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 573, :column 7, :end-line 573, :end-column 31, :arglists (quote ([obj]))}, :name devtools.munging/scan-slow-path-protocols, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 31, :method-params ([obj]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 573, :end-line 573, :max-fixed-arity 1, :fn-var true, :arglists (quote ([obj]))}, arities-to-args-lists {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 432, :column 7, :end-line 432, :end-column 28, :arglists (quote ([arities & [humanize?]])), :doc "Given a map of arity functions. Tries to parse individual functions and prepare an arguments list for each arity.\n Returned list of arguments list is sorted by arity count, variadic arity goes last if available.\n\n The function also optionally humanizes argument names in each arguments list if requested.", :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(arities [humanize?])], :arglists ([arities & [humanize?]]), :arglists-meta (nil)}}, :name devtools.munging/arities-to-args-lists, :variadic true, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 28, :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(arities [humanize?])], :arglists ([arities & [humanize?]]), :arglists-meta (nil)}, :method-params [(arities [humanize?])], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 432, :end-line 432, :max-fixed-arity 1, :fn-var true, :arglists ([arities & [humanize?]]), :doc "Given a map of arity functions. Tries to parse individual functions and prepare an arguments list for each arity.\n Returned list of arguments list is sorted by arity count, variadic arity goes last if available.\n\n The function also optionally humanizes argument names in each arguments list if requested."}, collect-fn-variadic-arities {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 372, :column 7, :end-line 372, :end-column 34, :arglists (quote ([f]))}, :name devtools.munging/collect-fn-variadic-arities, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 34, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 372, :end-line 372, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f]))}, get-fn-fixed-arity {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 52, :column 7, :end-line 52, :end-column 25, :arglists (quote ([f n]))}, :name devtools.munging/get-fn-fixed-arity, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 25, :method-params ([f n]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 52, :end-line 52, :max-fixed-arity 2, :fn-var true, :arglists (quote ([f n]))}, dollar-replacement {:name devtools.munging/dollar-replacement, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :line 31, :column 1, :end-line 31, :end-column 24, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 31, :column 6, :end-line 31, :end-column 24}, :tag string}, get-global-scope {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 36, :column 17, :end-line 36, :end-column 33, :dynamic true, :arglists (quote ([]))}, :name devtools.munging/get-global-scope, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 33, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :dynamic true, :line 36, :end-line 36, :max-fixed-arity 0, :fn-var true, :arglists (quote ([]))}, revert-reserved {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 172, :column 7, :end-line 172, :end-column 22, :arglists (quote ([s]))}, :name devtools.munging/revert-reserved, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 22, :method-params ([s]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 172, :end-line 172, :max-fixed-arity 1, :fn-var true, :arglists (quote ([s]))}, detect-namespace-prefix {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 201, :column 7, :end-line 201, :end-column 30, :arglists (quote ([tokens & [ns-detector]])), :doc "Given a name broken into namespace parts returns [detected-ns remaining-parts],\n where detected-ns is a string representing longest detected existing namespace and\n remaining-parts is a vector of remaing input parts not included in the detected-ns concatenation.\n\n For given input [\"cljs\" \"core\" \"first\"] returns [\"cljs.core\" [\"first\"]] (asumming cljs.core exists)", :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(tokens [ns-detector])], :arglists ([tokens & [ns-detector]]), :arglists-meta (nil)}}, :name devtools.munging/detect-namespace-prefix, :variadic true, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 30, :top-fn {:variadic true, :max-fixed-arity 1, :method-params [(tokens [ns-detector])], :arglists ([tokens & [ns-detector]]), :arglists-meta (nil)}, :method-params [(tokens [ns-detector])], :protocol-impl nil, :arglists-meta (nil), :column 1, :line 201, :end-line 201, :max-fixed-arity 1, :fn-var true, :arglists ([tokens & [ns-detector]]), :doc "Given a name broken into namespace parts returns [detected-ns remaining-parts],\n where detected-ns is a string representing longest detected existing namespace and\n remaining-parts is a vector of remaing input parts not included in the detected-ns concatenation.\n\n For given input [\"cljs\" \"core\" \"first\"] returns [\"cljs.core\" [\"first\"]] (asumming cljs.core exists)"}, parse-fn-info-deep {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 302, :column 7, :end-line 302, :end-column 25, :arglists (quote ([f])), :doc "Given a Javascript function object tries to retrieve [ns name & args] as in parse-fn-info (on best effort basis).\n\n The difference from parse-fn-info is that this function prefers to read args from arities if available.\n It recurses arbitrary deep following IFn protocol leads.\n\n If we hit multi-arity situation in leaf, we don't attempt to list arguments and return ::multi-arity placeholder instead.\n\n The reason for reading arities is that it gives more accurate parameter names in some cases.\n We observed that variadic functions don't always contain original parameter names, but individual IFn arity functions do."}, :name devtools.munging/parse-fn-info-deep, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 25, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 302, :end-line 302, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f])), :doc "Given a Javascript function object tries to retrieve [ns name & args] as in parse-fn-info (on best effort basis).\n\n The difference from parse-fn-info is that this function prefers to read args from arities if available.\n It recurses arbitrary deep following IFn protocol leads.\n\n If we hit multi-arity situation in leaf, we don't attempt to list arguments and return ::multi-arity placeholder instead.\n\n The reason for reading arities is that it gives more accurate parameter names in some cases.\n We observed that variadic functions don't always contain original parameter names, but individual IFn arity functions do."}, parse-fn-source-info {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 281, :column 7, :end-line 281, :end-column 27, :arglists (quote ([fn-source])), :doc "Given function source code tries to retrieve [ns name & args] on best effort basis, where\n ns is demunged namespace part of the function name (or \"\" if namespace cannot be detected)\n name is demunged short name (or \"\" if function is anonymous or name cannot be retrieved)\n args is optional number of demunged argument names.\n\n Please note that this function always returns a vector with something. In worst cases [\"\" \"\"].\n "}, :name devtools.munging/parse-fn-source-info, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 27, :method-params ([fn-source]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 281, :end-line 281, :max-fixed-arity 1, :fn-var true, :arglists (quote ([fn-source])), :doc "Given function source code tries to retrieve [ns name & args] on best effort basis, where\n ns is demunged namespace part of the function name (or \"\" if namespace cannot be detected)\n name is demunged short name (or \"\" if function is anonymous or name cannot be retrieved)\n args is optional number of demunged argument names.\n\n Please note that this function always returns a vector with something. In worst cases [\"\" \"\"].\n "}, arities-to-args-lists* {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 422, :column 7, :end-line 422, :end-column 29, :arglists (quote ([arities]))}, :name devtools.munging/arities-to-args-lists*, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 29, :method-params ([arities]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 422, :end-line 422, :max-fixed-arity 1, :fn-var true, :arglists (quote ([arities]))}, cljs-fn-name? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 115, :column 7, :end-line 115, :end-column 20, :arglists (quote ([munged-name])), :doc "Given a Javascript name answers if the name was likely generated by ClojureScript.\n We use a simple heuristic here:\n The name must contain at least two separate dollars because we assume two-segment namespaces."}, :name devtools.munging/cljs-fn-name?, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 20, :method-params ([munged-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 115, :end-line 115, :max-fixed-arity 1, :fn-var true, :arglists (quote ([munged-name])), :doc "Given a Javascript name answers if the name was likely generated by ClojureScript.\n We use a simple heuristic here:\n The name must contain at least two separate dollars because we assume two-segment namespaces."}, break-and-demunge-name {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 264, :column 7, :end-line 264, :end-column 29, :arglists (quote ([munged-name] [munged-name ns-detector])), :doc "Given a munged-name from Javascript lands attempts to break it into a namespace part and remaining short name.\n Then applies appropriate demunging on them and returns ClojureScript versions of the names.", :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([munged-name] [munged-name ns-detector]), :arglists ([munged-name] [munged-name ns-detector]), :arglists-meta (nil nil)}}, :name devtools.munging/break-and-demunge-name, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 29, :top-fn {:variadic false, :max-fixed-arity 2, :method-params ([munged-name] [munged-name ns-detector]), :arglists ([munged-name] [munged-name ns-detector]), :arglists-meta (nil nil)}, :method-params ([munged-name] [munged-name ns-detector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 264, :end-line 264, :max-fixed-arity 2, :fn-var true, :arglists ([munged-name] [munged-name ns-detector]), :doc "Given a munged-name from Javascript lands attempts to break it into a namespace part and remaining short name.\n Then applies appropriate demunging on them and returns ClojureScript versions of the names."}, parse-constructor-info {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 508, :column 7, :end-line 508, :end-column 29, :arglists (quote ([f])), :doc "Given a Javascript constructor function tries to retrieve [ns name basis]. Returns nil if not a cljs type."}, :name devtools.munging/parse-constructor-info, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 29, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 508, :end-line 508, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f])), :doc "Given a Javascript constructor function tries to retrieve [ns name basis]. Returns nil if not a cljs type."}, collect-fn-fixed-arities {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 363, :column 7, :end-line 363, :end-column 31, :arglists (quote ([f max-arity]))}, :name devtools.munging/collect-fn-fixed-arities, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 31, :method-params ([f max-arity]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 363, :end-line 363, :max-fixed-arity 2, :fn-var true, :arglists (quote ([f max-arity]))}, get-fn-source-safely {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 44, :column 7, :end-line 44, :end-column 27, :arglists (quote ([f]))}, :name devtools.munging/get-fn-source-safely, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 27, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 44, :end-line 44, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f]))}, cljs-fn? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 143, :column 7, :end-line 143, :end-column 15, :arglists (quote ([f])), :doc "Given a Javascript function object returns true if the function looks like a ClojureScript function.\n\n Uses various heuristics:\n 1. must be fn? (is javascript function or satisfies Fn and IFn protocols)\n 2. and name must be cljs-fn-name? (name can come from f.name or parsed out of function source)\n 3. or if anonymous function, must be non-trivial"}, :name devtools.munging/cljs-fn?, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 15, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 143, :end-line 143, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f])), :doc "Given a Javascript function object returns true if the function looks like a ClojureScript function.\n\n Uses various heuristics:\n 1. must be fn? (is javascript function or satisfies Fn and IFn protocols)\n 2. and name must be cljs-fn-name? (name can come from f.name or parsed out of function source)\n 3. or if anonymous function, must be non-trivial"}, protocol-exists? {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 533, :column 7, :end-line 533, :end-column 23, :arglists (quote ([protocol-selector]))}, :name devtools.munging/protocol-exists?, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 23, :method-params ([protocol-selector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 533, :end-line 533, :max-fixed-arity 1, :fn-var true, :arglists (quote ([protocol-selector]))}, parse-fn-info {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 296, :column 7, :end-line 296, :end-column 20, :arglists (quote ([f])), :doc "Given Javascript function object tries to retrieve [ns name & args] as in parse-fn-source-info (on best effort basis)."}, :name devtools.munging/parse-fn-info, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 20, :method-params ([f]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 296, :end-line 296, :max-fixed-arity 1, :fn-var true, :arglists (quote ([f])), :doc "Given Javascript function object tries to retrieve [ns name & args] as in parse-fn-source-info (on best effort basis)."}, make-superscript {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 107, :column 7, :end-line 107, :end-column 23, :arglists (quote ([superscript])), :doc "Given a superscript number converts it into a string representation consisting of unicode superscript characters (digits)."}, :name devtools.munging/make-superscript, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 23, :method-params ([superscript]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 107, :end-line 107, :max-fixed-arity 1, :fn-var true, :arglists (quote ([superscript])), :doc "Given a superscript number converts it into a string representation consisting of unicode superscript characters (digits)."}, demunge-protocol-selector {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 543, :column 7, :end-line 543, :end-column 32, :arglists (quote ([protocol-selector]))}, :name devtools.munging/demunge-protocol-selector, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 32, :method-params ([protocol-selector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 543, :end-line 543, :max-fixed-arity 1, :fn-var true, :arglists (quote ([protocol-selector]))}, proper-demunge {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 183, :column 7, :end-line 183, :end-column 21, :arglists (quote ([munged-name]))}, :name devtools.munging/proper-demunge, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 21, :method-params ([munged-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 183, :end-line 183, :max-fixed-arity 1, :fn-var true, :arglists (quote ([munged-name]))}, normalize-arity {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 218, :column 7, :end-line 218, :end-column 22, :arglists (quote ([arity-tokens]))}, :name devtools.munging/normalize-arity, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 22, :method-params ([arity-tokens]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 218, :end-line 218, :max-fixed-arity 1, :fn-var true, :arglists (quote ([arity-tokens]))}, present-protocol-part {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 476, :column 7, :end-line 476, :end-column 28, :arglists (quote ([protocol-ns protocol-name protocol-method include-protocol-ns?]))}, :name devtools.munging/present-protocol-part, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 28, :method-params ([protocol-ns protocol-name protocol-method include-protocol-ns?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 476, :end-line 476, :max-fixed-arity 4, :fn-var true, :arglists (quote ([protocol-ns protocol-name protocol-method include-protocol-ns?]))}, parse-protocol {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 229, :column 7, :end-line 229, :end-column 21, :arglists (quote ([tokens detector]))}, :name devtools.munging/parse-protocol, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 21, :method-params ([tokens detector]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 229, :end-line 229, :max-fixed-arity 2, :fn-var true, :arglists (quote ([tokens detector]))}, humanize-names {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 352, :column 7, :end-line 352, :end-column 21, :arglists (quote ([names])), :doc "Given a list of names, returns a list of human-readable versions of those names.\n It detects human-readable prefix using a simple heuristics. When names repeat it assigns simple subscripts starting with 2.\n Subscripts are assigned left-to-right.\n\n Given [\"p--a\" \"p--b\" \"x\" \"p--c\"] returns [\"p\" \"p₂\" \"x\" \"p₃\"]"}, :name devtools.munging/humanize-names, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 21, :method-params ([names]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 352, :end-line 352, :max-fixed-arity 1, :fn-var true, :arglists (quote ([names])), :doc "Given a list of names, returns a list of human-readable versions of those names.\n It detects human-readable prefix using a simple heuristics. When names repeat it assigns simple subscripts starting with 2.\n Subscripts are assigned left-to-right.\n\n Given [\"p--a\" \"p--b\" \"x\" \"p--c\"] returns [\"p\" \"p₂\" \"x\" \"p₃\"]"}, review-arity {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 376, :column 7, :end-line 376, :end-column 19, :arglists (quote ([[arity arity-fn]]))}, :name devtools.munging/review-arity, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 19, :method-params ([p__38949]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 376, :end-line 376, :max-fixed-arity 1, :fn-var true, :arglists (quote ([[arity arity-fn]]))}, dollar-preserving-demunge {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 163, :column 7, :end-line 163, :end-column 32, :arglists (quote ([munged-name])), :doc "Standard cljs.core/demunge is too agresive in replacing dollars.\n This wrapper function works around it by leaving dollars intact."}, :name devtools.munging/dollar-preserving-demunge, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 32, :method-params ([munged-name]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 163, :end-line 163, :max-fixed-arity 1, :fn-var true, :arglists (quote ([munged-name])), :doc "Standard cljs.core/demunge is too agresive in replacing dollars.\n This wrapper function works around it by leaving dollars intact."}, scan-fast-path-protocols {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 570, :column 7, :end-line 570, :end-column 31, :arglists (quote ([obj]))}, :name devtools.munging/scan-fast-path-protocols, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 31, :method-params ([obj]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 570, :end-line 570, :max-fixed-arity 1, :fn-var true, :arglists (quote ([obj]))}, max-fixed-arity-to-scan {:name devtools.munging/max-fixed-arity-to-scan, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :line 32, :column 1, :end-line 32, :end-column 29, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 32, :column 6, :end-line 32, :end-column 29}, :tag number}, make-protocol-descriptor {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 578, :column 7, :end-line 578, :end-column 31, :arglists (quote ([ns name selector fast?]))}, :name devtools.munging/make-protocol-descriptor, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 31, :method-params ([ns name selector fast?]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 578, :end-line 578, :max-fixed-arity 4, :fn-var true, :arglists (quote ([ns name selector fast?]))}, get-type-name {:protocol-inline nil, :meta {:file "/home/didier/clojupyter/website/target/cljsbuild/public/js/out/devtools/munging.cljs", :line 61, :column 7, :end-line 61, :end-column 20, :arglists (quote ([t]))}, :name devtools.munging/get-type-name, :variadic false, :file "target/cljsbuild/public/js/out/devtools/munging.cljs", :end-column 20, :method-params ([t]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 61, :end-line 61, :max-fixed-arity 1, :fn-var true, :arglists (quote ([t]))}}, :cljs.spec/registry-ref [], :require-macros {devtools.munging devtools.munging, devtools.oops devtools.oops}, :cljs.analyzer/constants {:seen #{:selector :devtools.munging/variadic :else :include-protocol-ns? :ns-detector :ns :name :naked :fast? :devtools.munging/multi-arity :silence-common-protocols? :include-ns? :devtools.munging/result}, :order [:devtools.munging/multi-arity :devtools.munging/result :devtools.munging/variadic :else :naked :include-ns? :include-protocol-ns? :silence-common-protocols? :ns-detector :ns :name :selector :fast?]}, :doc "This namespace implements various heuristics to map Javascript names back to corresponding ClojureScript names.\n The functionality here heavily depends on observed ClojureScript compiler and runtime behaviour (fragile!).\n Answers given by functions in this namespace cannot be perfect because generated Javascript naming schemes produced by\n ClojureScript compiler were not designed with easy reversibility in mind. We recommend this functionality to be used for\n presentation in the UI only. The goal here is to provide user with more familiar view of runtime state of her app\n in most common cases (on best effort basis).\n\n Our main weapons in this uneven fight are:\n 1. munged function names as they appear in Javascript (generated by ClojureScript)\n 2. we can also analyze function sources accessible via .toString\n 3. special cljs$core$IFn$_invoke protocol props generated for multi-arity functions\n\n We can also cheat and look at runtime state of browser environment to determine some answers about namespaces.\n\n This code can be used only in non-advanced builds!\n\n If you discovered breakage or a new case which should be covered by this code, please open an issue:\n https://github.com/binaryage/cljs-devtools/issues"} |