clojure.lang.Compiler$CaseExpr.class Maven / Gradle / Ivy
???? 2?
) ? ? ?
? ? ?
? ? ? ? ? ?
? ? ? ? ? ?!"
#$
%&'
() ?*
+, +-
./
+0
+123 (4
95
67
89:;
.
?<
=>?
3@ABCDEDFG@H
=I
=J
(K
LM
?N
?O@PQ@$&R ?
ST
=U@V@W
=X
=YZ
#W
?[
+\ +]
?^
?_
=` ?a
=b
?c
=d
=ef ?g
?h ?i
=j
=k
=l ?m
=n
?o Lp Lq Lr Ls
?t
=u Lh (v ?w
=xy
mt
={ ?|
=}~ rt??
???? ????
??????? CaseExpr InnerClasses? Parser expr? LocalBindingExpr (Lclojure/lang/Compiler$LocalBindingExpr; shift I mask low high defaultExpr Expr Lclojure/lang/Compiler$Expr; tests Ljava/util/SortedMap; Signature FLjava/util/SortedMap; thens Ljava/util/HashMap; DLjava/util/HashMap;
switchType Lclojure/lang/Keyword; testType skipCheck Ljava/util/Set; $Ljava/util/Set;
returnType Ljava/lang/Class; line column NUMBER_TYPE Lclojure/asm/Type; intValueMethod Lclojure/asm/commons/Method;
hashMethod hashCodeMethod equivMethod
compactKey sparseKey hashIdentityKey hashEquivKey intKey ?(IILclojure/lang/Compiler$LocalBindingExpr;IIIILclojure/lang/Compiler$Expr;Ljava/util/SortedMap;Ljava/util/HashMap;Lclojure/lang/Keyword;Lclojure/lang/Keyword;Ljava/util/Set;)V Code LineNumberTable LocalVariableTable this Lclojure/lang/Compiler$CaseExpr; returns Ljava/util/Collection; LocalVariableTypeTable 4Ljava/util/Collection;
StackMapTable??Z?????'(IILclojure/lang/Compiler$LocalBindingExpr;IIIILclojure/lang/Compiler$Expr;Ljava/util/SortedMap;Ljava/util/HashMap;Lclojure/lang/Keyword;Lclojure/lang/Keyword;Ljava/util/Set;)V hasJavaClass ()Z canEmitPrimitive getJavaClass ()Ljava/lang/Class; eval ()Ljava/lang/Object; emit? C? ObjExpr a(Lclojure/lang/Compiler$C;Lclojure/lang/Compiler$ObjExpr;Lclojure/asm/commons/GeneratorAdapter;)V context Lclojure/lang/Compiler$C; objx Lclojure/lang/Compiler$ObjExpr; gen &Lclojure/asm/commons/GeneratorAdapter; emitUnboxed doEmit b(Lclojure/lang/Compiler$C;Lclojure/lang/Compiler$ObjExpr;Lclojure/asm/commons/GeneratorAdapter;Z)V i Ljava/lang/Integer; i$ Ljava/util/Iterator; la [Lclojure/asm/Label; ints [I Z defaultLabel Lclojure/asm/Label; endLabel labels
primExprClass primExprType =Ljava/util/SortedMap;???Q??? ?G
isShiftMasked
emitShiftMask )(Lclojure/asm/commons/GeneratorAdapter;)V emitExprForInts m(Lclojure/lang/Compiler$ObjExpr;Lclojure/asm/commons/GeneratorAdapter;Lclojure/asm/Type;Lclojure/asm/Label;)V exprType emitThenForInts ?(Lclojure/lang/Compiler$ObjExpr;Lclojure/asm/commons/GeneratorAdapter;Lclojure/asm/Type;Lclojure/lang/Compiler$Expr;Lclojure/lang/Compiler$Expr;Lclojure/asm/Label;Z)V test then emitExprForHashes H(Lclojure/lang/Compiler$ObjExpr;Lclojure/asm/commons/GeneratorAdapter;)V emitThenForHashes ?(Lclojure/lang/Compiler$ObjExpr;Lclojure/asm/commons/GeneratorAdapter;Lclojure/lang/Compiler$Expr;Lclojure/lang/Compiler$Expr;Lclojure/asm/Label;Z)V emitExpr e(Lclojure/lang/Compiler$ObjExpr;Lclojure/asm/commons/GeneratorAdapter;Lclojure/lang/Compiler$Expr;Z)V ()V
SourceFile
Compiler.java ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "java/lang/IllegalArgumentException java/lang/StringBuilder Unexpected switch type: ?????? ?? ? ? ? ? ? ? ? ? Unexpected test type: ? ? ? ? java/util/ArrayList??? ???????? ? ???????? ????? ?Performance warning, %s:%d:%d - hash collision of some case test constants; if selected, those entries will be tested sequentially.
java/lang/Object?????????? 'java/lang/UnsupportedOperationException Can't eval case ? ???? java/util/TreeMap???????? ?? ? java/lang/Integer??????????? ? ? ? ??? clojure/asm/Label??????????????? clojure/lang/Compiler$Expr ? ????? ? ??? ?? ? ????? \Performance warning, %s:%d:%d - case has int tests, but tested expression is not primitive.
? ? ? ? ? ??????? ? ??? ? ?? ?? ?? ?? ? ? ???? ? ? ??? clojure/lang/Compiler$NumberExpr
NumberExpr?? ? ??? (clojure/lang/Compiler$MaybePrimitiveExpr MaybePrimitiveExpr java/lang/Number int intValue()??? int hash(Object) int hashCode() ? ? boolean equiv(Object, Object) compact??? sparse
hash-identity
hash-equiv int clojure/lang/Compiler$CaseExpr %clojure/lang/Compiler$CaseExpr$Parser &clojure/lang/Compiler$LocalBindingExpr java/util/SortedMap java/util/HashMap clojure/lang/Keyword
java/util/Set java/util/Collection clojure/lang/Compiler$C clojure/lang/Compiler$ObjExpr $clojure/asm/commons/GeneratorAdapter java/util/Iterator java/lang/Class clojure/asm/Type append -(Ljava/lang/String;)Ljava/lang/StringBuilder; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; toString ()Ljava/lang/String; (Ljava/lang/String;)V values ()Ljava/util/Collection; (Ljava/util/Collection;)V add (Ljava/lang/Object;)Z clojure/lang/Compiler maybeJavaClass )(Ljava/util/Collection;)Ljava/lang/Class; clojure/lang/RT count (Ljava/lang/Object;)I WARN_ON_REFLECTION Lclojure/lang/Var; clojure/lang/Var deref booleanCast errPrintWriter ()Ljava/io/PrintWriter; SOURCE_PATH valueOf (I)Ljava/lang/Integer; java/io/PrintWriter format <(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter; clojure/lang/Util isPrimitive (Ljava/lang/Class;)Z newLabel ()Lclojure/asm/Label; keySet ()Ljava/util/Set; iterator ()Ljava/util/Iterator; hasNext next put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; mark visitLineNumber (ILclojure/asm/Label;)V maybePrimitiveType /(Lclojure/lang/Compiler$Expr;)Ljava/lang/Class; getType %(Ljava/lang/Class;)Lclojure/asm/Type; size ()I toArray (([Ljava/lang/Object;)[Ljava/lang/Object; clojure/lang/Numbers int_array (Ljava/lang/Object;)[I visitLookupSwitchInsn ,(Lclojure/asm/Label;[I[Lclojure/asm/Label;)V containsKey get &(Ljava/lang/Object;)Ljava/lang/Object; visitTableSwitchInsn ,(IILclojure/asm/Label;[Lclojure/asm/Label;)V (Lclojure/asm/Label;)V contains T Ljava/lang/Boolean; goTo STATEMENT pop push (I)V visitInsn
EXPRESSION
instanceOf (Lclojure/asm/Type;)V ifZCmp checkCast
invokeVirtual 1(Lclojure/asm/Type;Lclojure/asm/commons/Method;)V LONG_TYPE INT_TYPE
SHORT_TYPE BYTE_TYPE cast '(Lclojure/asm/Type;Lclojure/asm/Type;)V UTIL_TYPE invokeStatic ifCmp )(Lclojure/asm/Type;ILclojure/asm/Label;)V
visitJumpInsn clojure/asm/commons/Method getMethod 0(Ljava/lang/String;)Lclojure/asm/commons/Method; intern <(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; ! ? ) L r ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *? *-? *? *? *? *? *? * ? *
? *?
*? ? ? '?
? ? Y? Y? ? ? ? ? ?*? ? ? /? ? '? ? ? Y? Y? ? ? ? ? ?*? *
? ? Y
? ? :? W*? !? "
? #? 3? $? %? &? '? '(? )Y? *? %SY? +SY? +S? ,W? ? b !~ ! !? !? !? !? !!? '!? -!? 3!? 8!? =!? M!? i!? o!? ?!? ?!? ?!? ?!? ?!? ?!? ?!? ?!?!? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ?
? L ? ? ? * ? ? ? ?
? ?
? L ? ? ? . ? i ? ? ? ? ? ? ? ? 9? d ? ? ? ? ? ? B
*? "? ? ? ? !? ?
? ? ? @ ? ? ? 2 *? "? -? ? !? ? ? ? ? ? ? / *? "? ? !? ? ? ? ? ? ? 4
? .Y/? 0? ? !? ?
? ? ? ? ? U *+,-? 1? ?
!? !? ? * ? ? ? ? ? ? ? ? ? ? ? U *+,-? 1? ?
!? !? ? * ? ? ? ? ? ? ? ? ? ? ? 9 -? 2:-? 2:? 3Y? 4:*? ? 5 ? 6 :? 7 ? ? 8 ? 9: -? 2? : W???-*?
-? ;? <*? ? =:? ? ? >: *? ? ? *,- ? ?? *,-? @*? ?
? =? A ? B:
? C
? D ? E:
*? ? 5 ? F:-
? G? e*? *? d`? B:
*? 6*? ? 6
*? d? +? H ? ? +? I ? B? S????-*? *?
? J? 5 ? 6 :
? 7 ? ?
? 8 ? 9:-? I ? B? K*? ? ? ,*,- *? ? I ? L*? ? M? L? N? L*? ? O? P? ,-*? ? M? L? Q? '*,-*? ? I ? L*? ? M? L? R-? S??X-? K,-*? ? Q-? K+? T? -? U? ? ? $ !? !? !? !? ;!? L!? X!? a!? q!? {!? ?!? ?!? ?!? ?!? ?!? ?!? ?!? ?!? ?!? ?!?!?$!?4!?X!?h!?r!??!??!??!??!??!??!??!?!?!?!? ? ? ; ? ? % ' ? ? ? + ? ?
?
? ? ? <