Skip to content

Instantly share code, notes, and snippets.

@hiredman
Created June 18, 2010 03:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save hiredman/443208 to your computer and use it in GitHub Desktop.
Save hiredman/443208 to your computer and use it in GitHub Desktop.
Compiled from "core.clj"
public final class def.core$F extends clojure.lang.AFunction{
public static final clojure.lang.Var const__0;
public static final clojure.lang.Var const__1;
public static final clojure.lang.Var const__2;
final clojure.lang.IPersistentMap __meta;
public static {};
Code:
0: ldc #15; //String clojure.core
2: ldc #17; //String loop
4: invokestatic #23; //Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var;
7: checkcast #25; //class clojure/lang/Var
10: putstatic #27; //Field const__0:Lclojure/lang/Var;
13: ldc #15; //String clojure.core
15: ldc #29; //String when
17: invokestatic #23; //Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var;
20: checkcast #25; //class clojure/lang/Var
23: putstatic #31; //Field const__1:Lclojure/lang/Var;
26: ldc #15; //String clojure.core
28: ldc #33; //String println
30: invokestatic #23; //Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var;
33: checkcast #25; //class clojure/lang/Var
36: putstatic #35; //Field const__2:Lclojure/lang/Var;
39: ldc #15; //String clojure.core
41: ldc #33; //String println
43: invokestatic #23; //Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var;
46: dup
47: invokevirtual #39; //Method clojure/lang/Var.hasRoot:()Z
50: ifeq 72
53: invokevirtual #43; //Method clojure/lang/Var.getRoot:()Ljava/lang/Object;
56: dup
57: instanceof #4; //class clojure/lang/AFunction
60: ifeq 72
63: checkcast #45; //class clojure/lang/IFn
66: putstatic #47; //Field __var__callsite__0:Lclojure/lang/IFn;
69: goto 73
72: pop
73: return
public def.core$F(clojure.lang.IPersistentMap);
Code:
0: aload_0
1: invokespecial #53; //Method clojure/lang/AFunction."<init>":()V
4: aload_0
5: aload_1
6: putfield #55; //Field __meta:Lclojure/lang/IPersistentMap;
9: return
public def.core$F();
Code:
0: aload_0
1: aconst_null
2: invokespecial #57; //Method "<init>":(Lclojure/lang/IPersistentMap;)V
5: return
public clojure.lang.IPersistentMap meta();
Code:
0: aload_0
1: getfield #55; //Field __meta:Lclojure/lang/IPersistentMap;
4: areturn
public clojure.lang.IObj withMeta(clojure.lang.IPersistentMap);
Code:
0: new #2; //class def/core$F
3: dup
4: aload_1
5: invokespecial #57; //Method "<init>":(Lclojure/lang/IPersistentMap;)V
8: areturn
public java.lang.Object invoke() throws java.lang.Exception;
Code:
0: getstatic #70; //Field java/lang/Boolean.TRUE:Ljava/lang/Boolean;
3: astore_1
4: aload_1
5: dup
6: ifnull 25
9: getstatic #73; //Field java/lang/Boolean.FALSE:Ljava/lang/Boolean;
12: if_acmpeq 26
15: getstatic #73; //Field java/lang/Boolean.FALSE:Ljava/lang/Boolean;
18: astore_1
19: goto 4
22: goto 27
25: pop
26: aconst_null
27: astore_2
28: getstatic #47; //Field __var__callsite__0:Lclojure/lang/IFn;
31: dup
32: ifnonnull 45
35: pop
36: getstatic #35; //Field const__2:Lclojure/lang/Var;
39: invokevirtual #76; //Method clojure/lang/Var.get:()Ljava/lang/Object;
42: checkcast #45; //class clojure/lang/IFn
45: ldc #78; //String foo
47: invokeinterface #81, 2; //InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
52: pop
53: goto 84
56: astore_3
57: getstatic #47; //Field __var__callsite__0:Lclojure/lang/IFn;
60: dup
61: ifnonnull 74
64: pop
65: getstatic #35; //Field const__2:Lclojure/lang/Var;
68: invokevirtual #76; //Method clojure/lang/Var.get:()Ljava/lang/Object;
71: checkcast #45; //class clojure/lang/IFn
74: ldc #78; //String foo
76: invokeinterface #81, 2; //InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object;
81: pop
82: aload_3
83: athrow
84: aload_2
85: areturn
Exception table:
from to target type
4 56 56 any
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment