slingshot.slingshot__init.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of facepalm Show documentation
Show all versions of facepalm Show documentation
Command-line utility for DE database managment.
???? 1 slingshot/slingshot__init java/lang/Object load ()V const__0 Lclojure/lang/Var; clojure/lang/Var
getRawRoot ()Ljava/lang/Object;
clojure/lang/IFn const__1 Lclojure/lang/AFn; invoke &(Ljava/lang/Object;)Ljava/lang/Object; )slingshot/slingshot$loading__4910__auto__
clojure/lang/Symbol " const__2 $ % equals (Ljava/lang/Object;)Z ' (
# ) slingshot/slingshot$fn__423 +
, java/util/concurrent/Callable . clojure/lang/LockingTransaction 0 runInTransaction 3(Ljava/util/concurrent/Callable;)Ljava/lang/Object; 2 3
1 4 const__3 6 7 const__12 9 : clojure/lang/IPersistentMap < setMeta (Lclojure/lang/IPersistentMap;)V > ?
@ slingshot/slingshot$try_PLUS_ B
C bindRoot (Ljava/lang/Object;)V E F
G setMacro I
J const__13 L M const__16 O P slingshot/slingshot$throw_PLUS_ R
S const__17 U V const__20 X Y %slingshot/slingshot$get_throw_context [
\ const__21 ^ _ const__24 a b %slingshot/slingshot$get_thrown_object d
e const__4 Lclojure/lang/Keyword; const__5 const__6 Ljava/lang/Object; const__7 const__8 const__9 const__10 const__11 const__14 const__15 const__18 const__19 const__22 const__23 __init0 clojure.core x in-ns z clojure/lang/RT | var 8(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; ~
} ? slingshot.slingshot ? intern ;(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; ? ?
# ? clojure/lang/AFn ? try+ ? file ? keyword <(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; ? ?
} ? clojure/lang/Keyword ? g h ? column ? i h ? java/lang/Integer ? valueOf (I)Ljava/lang/Integer; ? ?
? ? j k ? line ? l h ? m k ? arglists ? n h ? & ? body ? vector 5([Ljava/lang/Object;)Lclojure/lang/IPersistentVector; ? ?
} ? java/util/Arrays ? asList %([Ljava/lang/Object;)Ljava/util/List; ? ?
? ? clojure/lang/PersistentList ? create 0(Ljava/util/List;)Lclojure/lang/IPersistentList; ? ?
? ? o k ? doc ? p h ?Like the try special form, but with enhanced catch clauses:
- catch non-Throwable objects thrown by throw+ as well as
Throwable objects thrown by throw or throw+;
- specify objects to catch by class name, key-values,
predicate, or arbitrary selector form;
- destructure the caught object;
- in a catch clause, access the names and values of the locals
visible at the throw site, including the name of the enclosing
function and its arguments (unless shadowed by nested locals).
A selector form is a form containing one or more instances of % to
be replaced by the thrown object. If it evaluates to truthy, the
object is caught.
The class name, key-values, and predicate selectors are
shorthand for these selector forms:
=> (instance? %)
[ & ] => (and (= (get % ) ) ...)
=> ( %)
The binding form in a try+ catch clause is not required to be a
simple symbol. It is subject to destructuring which allows easy
access to the contents of a thrown collection.
The local &throw-context is available within try+ catch clauses,
bound to the throw context for the caught object.
See also: throw+, get-throw-context ? slingshot/slingshot.clj ? map 2([Ljava/lang/Object;)Lclojure/lang/IPersistentMap; ? ?
} ? throw+ ? q k ? object ? message ? fmt ? arg ? args ? r k ?5Like the throw special form, but can throw any object by wrapping
non-Throwable objects in a Throwable wrapper.
throw+ has the same syntax and behavior as throw for Throwable
objects. The message, cause, and stack trace are those carried by
the Throwable.
For non-Throwable objects, throw+ packages the object, message,
cause, stack trace, and environment in a Throwable wrapper:
- message: optional, specified either by a string or a format
string and args for clojure.core/format:
- % symbols (at any nesting depth) within args represent the
thrown object
- the default is: "throw+: %s" (pr-str %)
- cause: for a throw+ call within a try+ catch clause, the cause
is the outermost wrapper of the caught object being processed.
In any other case, the cause is nil;
- stack trace: the stack trace of the current thread at the time
of the throw+ call, starting at the function that encloses it;
- environment: a map from names to values for locals visible at
the throw+ call site, including the enclosing function and its
arguments (unless shadowed by nested locals).
Within a try+ catch clause, a throw+ call with no arguments rethrows
the caught object within its original (possibly nested) wrappers.
See also try+, get-throw-context ? get-throw-context ? s k ? t ? t k ??Returns the throw context for an object thrown by throw or throw+
given a Throwable t. Allows callers to access information about any
thrown object as a Clojure map.
If t or any Throwable in its cause chain wraps a non-Throwable
object thrown by throw+, returns the associated context with t
assoc'd as the value for :throwable, and the wrapper assoc'd as the
value for :wrapper, else returns a new context based on t.
Within a try+ catch clause, prefer using the &throw-context local to
calling get-throw-context explicitly.
A throw context is a map containing:
- for Throwable objects:
:object the object;
:message the message, from .getMessage;
:cause the cause, from .getCause;
:stack-trace the stack trace, from .getStackTrace;
:throwable the object;
- for non-Throwable objects:
:object the object;
:message the message, see throw+;
:cause the cause, see throw+;
:stack-trace the stack trace, see throw+;
:environment the environment, see throw+;
:wrapper the Throwable wrapper that carried the object,
see below;
:throwable the outermost Throwable whose cause chain contains
the wrapper, see below;
To throw a non-Throwable object, throw+ wraps it in a Throwable
wrapper. The wrapper is available via the :wrapper key in the throw
context.
Between being thrown and caught, the wrapper may be wrapped by other
exceptions (e.g., instances of RuntimeException or
java.util.concurrent.ExecutionException). get-throw-context searches
all nested wrappers to find the thrown object. The outermost wrapper
is available via the :throwable key in the throw context.
See also try+ ? get-thrown-object ? u k ? v k ? ?Returns the object thrown by throw or throw+ given a Throwable.
Useful for processing a Throwable outside of a try+ form when the
source of the Throwable may or may not have been throw+.
See also get-throw-context ? w
? slingshot.slingshot__init ? java/lang/Class ? forName %(Ljava/lang/String;)Ljava/lang/Class; ? ?
? ? getClassLoader ()Ljava/lang/ClassLoader; ? ?
? ? clojure/lang/Compiler pushNSandLoader (Ljava/lang/ClassLoader;)V
popThreadBindings
Code LineNumberTable ! $ 6 g h i h j k l h m k n h o k p h 9 L q k r k O U s k t k X ^ u k v k a ? ??
? ? ? ? ? Y? ? ? ! ? ? #? &? *? ? W? ,Y? -? /? 5W? 8Y? ;? =? AY? CY? D? H? 8? ? K? 8? NY? Q? =? AY? SY? T? H? N? ? K? N? WY? Z? =? AY? \Y? ]? H? `Y? c? =? AY? eY? f? H?
4 [ ? - w ? ?y{? ?? ?
?? ?? ?? y? ?? ?? &??? ?? ? 8?? ?? ?? ??? ?? ?? ?? ?? ??? ?? ?? ?? ?? ??? ?? ?? ?? Y? Y?? ?SY?? ?S? ?S? ?? ?? ?ø ?? ?? ?
? Y?? ?SY? Y? Y?? ?SY?? ?S? ?S? ?? ?SY?? ?SY? ?SYø ?SY?SY?? ?SY? ?SY?? ?SY ?S? ?? ?? ;?ϸ ?? ? N-? ?? ?? Y? YӸ ?S? ?SY? YӸ ?SYո ?S? ?SY? YӸ ?SY ?SYٸ ?SY?? ?SY۸ ?S? ?SY? ? ?S? ?? ?? ?
? Y?? ?SY? Y? YӸ ?S? ?SY? YӸ ?SYո ?S? ?SY? YӸ ?SY ?SYٸ ?SY?? ?SY۸ ?S? ?SY? ? ?S? ?? ?SY?? ?SY? ?SYø ?SY?SY?? ?SY-? ?SY?? ?SY ?S? ?? ?? Q?? ?? ? W\? ?? ?? Y? Y? ?S? ?S? ?? ?? ?
? Y?? ?SY? Y? Y? ?S? ?S? ?? ?SY?? ?SY? ?SYø ?SY?SY?? ?SY\? ?SY?? ?SY ?S? ?? ?? Z?? ?? ? ` ?? ?? ?? Y? Y? ?S? ?S? ?? ?? ?
? Y?? ?SY? Y? Y? ?S? ?S? ?? ?SY?? ?SY? ?SYø ?SY?SY?? ?SY ?? ?SY?? ?SY ?S? ?? ?? c? ? 0 ? ??? ?? ???? ???