Last active
February 18, 2021 13:57
-
-
Save seltzer1717/9f0f647e5a035f0334d2eceff2bcf755 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Directions: | |
;; | |
;; mvn clean install | |
;; ... | |
;; run javap | |
;; rem All classes created with compile call | |
;; rem cloud.seltzer1717.core | |
;; rem cloud.seltzer1717.core__init | |
;; rem cloud.seltzer1717.core$_main | |
;; rem cloud.seltzer1717.core$fn__158 | |
;; rem cloud.seltzer1717.core$loading__6721__auto____156 | |
;; rem Flags: -p show all classes and members, -s print internal type signatures -c Disassemble the code -l Print line number and local variable tables | |
;; javap -p -s -c -l -classpath C:\Users\jonseltzer\.m2\repository\org\clojure\clojure\1.10.1\clojure-1.10.1.jar;C:\Users\jonseltzer\.m2\repository\org\clojure\spec.alpha\0.2.176\spec.alpha-0.2.176.jar;C:\Users\jonseltzer\.m2\repository\org\clojure\core.specs.alpha\0.2.44\core.specs.alpha-0.2.44.jar;target/clojure-debug-1.0-SNAPSHOT.jar cloud.seltzer1717.core cloud.seltzer1717.core__init cloud.seltzer1717.core$_main cloud.seltzer1717.core$fn__158 cloud.seltzer1717.core$loading__6721__auto____156 | |
;; C:\Users\jonseltzer\Documents\development\java\projects\clojure-debug>javap -p -s -c -l -classpath C:\Users\jonseltzer\.m2\repository\org\clojure\clojure\1.10.1\clojure-1.10.1.jar;C:\Users\jonseltzer\.m2\repository\org\clojure\spec.alpha\0.2.176\spec.alpha-0.2.176.jar;C:\Users\jonseltzer\.m2\repository\org\clojure\core.specs.alpha\0.2.44\core.specs.alpha-0.2.44.jar;target/clojure-debug-1.0-SNAPSHOT.jar cloud.seltzer1717.core cloud.seltzer1717.core__init cloud.seltzer1717.core$_main cloud.seltzer1717.core$fn__158 cloud.seltzer1717.core$loading__6721__auto____156 | |
;; public class cloud.seltzer1717.core { | |
;; private static final clojure.lang.Var main__var; | |
;; descriptor: Lclojure/lang/Var; | |
;; private static final clojure.lang.Var equals__var; | |
;; descriptor: Lclojure/lang/Var; | |
;; private static final clojure.lang.Var toString__var; | |
;; descriptor: Lclojure/lang/Var; | |
;; private static final clojure.lang.Var hashCode__var; | |
;; descriptor: Lclojure/lang/Var; | |
;; private static final clojure.lang.Var clone__var; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static {}; | |
;; descriptor: ()V | |
;; Code: | |
;; 0: ldc #14 // String cloud.seltzer1717.core | |
;; 2: ldc #16 // String -main | |
;; 4: invokestatic #22 // Method clojure/lang/Var.internPrivate:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 7: putstatic #24 // Field main__var:Lclojure/lang/Var; | |
;; 10: ldc #14 // String cloud.seltzer1717.core | |
;; 12: ldc #26 // String -equals | |
;; 14: invokestatic #22 // Method clojure/lang/Var.internPrivate:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 17: putstatic #28 // Field equals__var:Lclojure/lang/Var; | |
;; 20: ldc #14 // String cloud.seltzer1717.core | |
;; 22: ldc #30 // String -toString | |
;; 24: invokestatic #22 // Method clojure/lang/Var.internPrivate:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 27: putstatic #32 // Field toString__var:Lclojure/lang/Var; | |
;; 30: ldc #14 // String cloud.seltzer1717.core | |
;; 32: ldc #34 // String -hashCode | |
;; 34: invokestatic #22 // Method clojure/lang/Var.internPrivate:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 37: putstatic #36 // Field hashCode__var:Lclojure/lang/Var; | |
;; 40: ldc #14 // String cloud.seltzer1717.core | |
;; 42: ldc #38 // String -clone | |
;; 44: invokestatic #22 // Method clojure/lang/Var.internPrivate:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 47: putstatic #40 // Field clone__var:Lclojure/lang/Var; | |
;; 50: ldc #42 // String /cloud/seltzer1717/core | |
;; 52: ldc #2 // class cloud/seltzer1717/core | |
;; 54: invokestatic #48 // Method clojure/lang/Util.loadWithClass:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; | |
;; 57: pop | |
;; 58: return | |
;; public cloud.seltzer1717.core(); | |
;; descriptor: ()V | |
;; Code: | |
;; 0: aload_0 | |
;; 1: invokespecial #51 // Method java/lang/Object."<init>":()V | |
;; 4: return | |
;; public boolean equals(java.lang.Object); | |
;; descriptor: (Ljava/lang/Object;)Z | |
;; Code: | |
;; 0: getstatic #28 // Field equals__var:Lclojure/lang/Var; | |
;; 3: dup | |
;; 4: invokevirtual #57 // Method clojure/lang/Var.isBound:()Z | |
;; 7: ifeq 16 | |
;; 10: invokevirtual #61 // Method clojure/lang/Var.get:()Ljava/lang/Object; | |
;; 13: goto 18 | |
;; 16: pop | |
;; 17: aconst_null | |
;; 18: dup | |
;; 19: ifnull 41 | |
;; 22: checkcast #63 // class clojure/lang/IFn | |
;; 25: aload_0 | |
;; 26: aload_1 | |
;; 27: invokeinterface #67, 3 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; | |
;; 32: checkcast #69 // class java/lang/Boolean | |
;; 35: invokevirtual #72 // Method java/lang/Boolean.booleanValue:()Z | |
;; 38: goto 47 | |
;; 41: pop | |
;; 42: aload_0 | |
;; 43: aload_1 | |
;; 44: invokespecial #74 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z | |
;; 47: ireturn | |
;; public java.lang.String toString(); | |
;; descriptor: ()Ljava/lang/String; | |
;; Code: | |
;; 0: getstatic #32 // Field toString__var:Lclojure/lang/Var; | |
;; 3: dup | |
;; 4: invokevirtual #57 // Method clojure/lang/Var.isBound:()Z | |
;; 7: ifeq 16 | |
;; 10: invokevirtual #61 // Method clojure/lang/Var.get:()Ljava/lang/Object; | |
;; 13: goto 18 | |
;; 16: pop | |
;; 17: aconst_null | |
;; 18: dup | |
;; 19: ifnull 37 | |
;; 22: checkcast #63 // class clojure/lang/IFn | |
;; 25: aload_0 | |
;; 26: invokeinterface #79, 2 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object; | |
;; 31: checkcast #81 // class java/lang/String | |
;; 34: goto 42 | |
;; 37: pop | |
;; 38: aload_0 | |
;; 39: invokespecial #83 // Method java/lang/Object.toString:()Ljava/lang/String; | |
;; 42: areturn | |
;; public int hashCode(); | |
;; descriptor: ()I | |
;; Code: | |
;; 0: getstatic #36 // Field hashCode__var:Lclojure/lang/Var; | |
;; 3: dup | |
;; 4: invokevirtual #57 // Method clojure/lang/Var.isBound:()Z | |
;; 7: ifeq 16 | |
;; 10: invokevirtual #61 // Method clojure/lang/Var.get:()Ljava/lang/Object; | |
;; 13: goto 18 | |
;; 16: pop | |
;; 17: aconst_null | |
;; 18: dup | |
;; 19: ifnull 40 | |
;; 22: checkcast #63 // class clojure/lang/IFn | |
;; 25: aload_0 | |
;; 26: invokeinterface #79, 2 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object; | |
;; 31: checkcast #87 // class java/lang/Number | |
;; 34: invokevirtual #90 // Method java/lang/Number.intValue:()I | |
;; 37: goto 45 | |
;; 40: pop | |
;; 41: aload_0 | |
;; 42: invokespecial #92 // Method java/lang/Object.hashCode:()I | |
;; 45: ireturn | |
;; public java.lang.Object clone(); | |
;; descriptor: ()Ljava/lang/Object; | |
;; Code: | |
;; 0: getstatic #40 // Field clone__var:Lclojure/lang/Var; | |
;; 3: dup | |
;; 4: invokevirtual #57 // Method clojure/lang/Var.isBound:()Z | |
;; 7: ifeq 16 | |
;; 10: invokevirtual #61 // Method clojure/lang/Var.get:()Ljava/lang/Object; | |
;; 13: goto 18 | |
;; 16: pop | |
;; 17: aconst_null | |
;; 18: dup | |
;; 19: ifnull 34 | |
;; 22: checkcast #63 // class clojure/lang/IFn | |
;; 25: aload_0 | |
;; 26: invokeinterface #79, 2 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object; | |
;; 31: goto 39 | |
;; 34: pop | |
;; 35: aload_0 | |
;; 36: invokespecial #95 // Method java/lang/Object.clone:()Ljava/lang/Object; | |
;; 39: areturn | |
;; public static void main(java.lang.String[]); | |
;; descriptor: ([Ljava/lang/String;)V | |
;; Code: | |
;; 0: getstatic #24 // Field main__var:Lclojure/lang/Var; | |
;; 3: dup | |
;; 4: invokevirtual #57 // Method clojure/lang/Var.isBound:()Z | |
;; 7: ifeq 16 | |
;; 10: invokevirtual #61 // Method clojure/lang/Var.get:()Ljava/lang/Object; | |
;; 13: goto 18 | |
;; 16: pop | |
;; 17: aconst_null | |
;; 18: dup | |
;; 19: ifnull 38 | |
;; 22: checkcast #63 // class clojure/lang/IFn | |
;; 25: aload_0 | |
;; 26: invokestatic #103 // Method clojure/lang/RT.seq:(Ljava/lang/Object;)Lclojure/lang/ISeq; | |
;; 29: invokeinterface #107, 2 // InterfaceMethod clojure/lang/IFn.applyTo:(Lclojure/lang/ISeq;)Ljava/lang/Object; | |
;; 34: pop | |
;; 35: goto 48 | |
;; 38: new #109 // class java/lang/UnsupportedOperationException | |
;; 41: dup | |
;; 42: ldc #111 // String cloud.seltzer1717.core/-main not defined | |
;; 44: invokespecial #114 // Method java/lang/UnsupportedOperationException."<init>":(Ljava/lang/String;)V | |
;; 47: athrow | |
;; 48: return | |
;; } | |
;; public class cloud.seltzer1717.core__init { | |
;; public static final clojure.lang.Var const__0; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static final clojure.lang.AFn const__1; | |
;; descriptor: Lclojure/lang/AFn; | |
;; public static final clojure.lang.AFn const__2; | |
;; descriptor: Lclojure/lang/AFn; | |
;; public static final clojure.lang.Var const__3; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static final clojure.lang.AFn const__11; | |
;; descriptor: Lclojure/lang/AFn; | |
;; public static void load(); | |
;; descriptor: ()V | |
;; Code: | |
;; 0: getstatic #10 // Field const__0:Lclojure/lang/Var; | |
;; 3: invokevirtual #16 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object; | |
;; 6: checkcast #18 // class clojure/lang/IFn | |
;; 9: getstatic #22 // Field const__1:Lclojure/lang/AFn; | |
;; 12: invokeinterface #26, 2 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object; | |
;; 17: new #28 // class cloud/seltzer1717/core$loading__6721__auto____156 | |
;; 20: dup | |
;; 21: invokespecial #31 // Method cloud/seltzer1717/core$loading__6721__auto____156."<init>":()V | |
;; 24: checkcast #18 // class clojure/lang/IFn | |
;; 27: invokeinterface #33, 1 // InterfaceMethod clojure/lang/IFn.invoke:()Ljava/lang/Object; | |
;; 32: getstatic #22 // Field const__1:Lclojure/lang/AFn; | |
;; 35: checkcast #35 // class clojure/lang/Symbol | |
;; 38: getstatic #38 // Field const__2:Lclojure/lang/AFn; | |
;; 41: invokevirtual #42 // Method clojure/lang/Symbol.equals:(Ljava/lang/Object;)Z | |
;; 44: ifeq 52 | |
;; 47: aconst_null | |
;; 48: goto 67 | |
;; 51: athrow | |
;; 52: new #44 // class cloud/seltzer1717/core$fn__158 | |
;; 55: dup | |
;; 56: invokespecial #45 // Method cloud/seltzer1717/core$fn__158."<init>":()V | |
;; 59: checkcast #47 // class java/util/concurrent/Callable | |
;; 62: invokestatic #53 // Method clojure/lang/LockingTransaction.runInTransaction:(Ljava/util/concurrent/Callable;)Ljava/lang/Object; | |
;; 65: pop | |
;; 66: aconst_null | |
;; 67: getstatic #56 // Field const__3:Lclojure/lang/Var; | |
;; 70: dup | |
;; 71: getstatic #59 // Field const__11:Lclojure/lang/AFn; | |
;; 74: checkcast #61 // class clojure/lang/IPersistentMap | |
;; 77: invokevirtual #65 // Method clojure/lang/Var.setMeta:(Lclojure/lang/IPersistentMap;)V | |
;; 80: dup | |
;; 81: new #67 // class cloud/seltzer1717/core$_main | |
;; 84: dup | |
;; 85: invokespecial #68 // Method cloud/seltzer1717/core$_main."<init>":()V | |
;; 88: invokevirtual #72 // Method clojure/lang/Var.bindRoot:(Ljava/lang/Object;)V | |
;; 91: return | |
;; *LineNumberTable*: | |
;; line 1: 6 | |
;; line 1: 12 | |
;; line 1: 24 | |
;; line 1: 27 | |
;; line 1: 32 | |
;; line 1: 41 | |
;; line 1: 62 | |
;; public static void __init0(); | |
;; descriptor: ()V | |
;; Code: | |
;; 0: ldc #77 // String clojure.core | |
;; 2: ldc #79 // String in-ns | |
;; 4: invokestatic #85 // Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 7: checkcast #12 // class clojure/lang/Var | |
;; 10: putstatic #10 // Field const__0:Lclojure/lang/Var; | |
;; 13: aconst_null | |
;; 14: ldc #87 // String cloud.seltzer1717.core | |
;; 16: invokestatic #91 // Method clojure/lang/Symbol.intern:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; | |
;; 19: checkcast #93 // class clojure/lang/AFn | |
;; 22: putstatic #22 // Field const__1:Lclojure/lang/AFn; | |
;; 25: aconst_null | |
;; 26: ldc #77 // String clojure.core | |
;; 28: invokestatic #91 // Method clojure/lang/Symbol.intern:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; | |
;; 31: checkcast #93 // class clojure/lang/AFn | |
;; 34: putstatic #38 // Field const__2:Lclojure/lang/AFn; | |
;; 37: ldc #87 // String cloud.seltzer1717.core | |
;; 39: ldc #95 // String -main | |
;; 41: invokestatic #85 // Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 44: checkcast #12 // class clojure/lang/Var | |
;; 47: putstatic #56 // Field const__3:Lclojure/lang/Var; | |
;; 50: bipush 8 | |
;; 52: anewarray #4 // class java/lang/Object | |
;; 55: dup | |
;; 56: iconst_0 | |
;; 57: aconst_null | |
;; 58: ldc #97 // String arglists | |
;; 60: invokestatic #101 // Method clojure/lang/RT.keyword:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; | |
;; 63: aastore | |
;; 64: dup | |
;; 65: iconst_1 | |
;; 66: iconst_1 | |
;; 67: anewarray #4 // class java/lang/Object | |
;; 70: dup | |
;; 71: iconst_0 | |
;; 72: aconst_null | |
;; 73: ldc #103 // String & | |
;; 75: invokestatic #91 // Method clojure/lang/Symbol.intern:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; | |
;; 78: aconst_null | |
;; 79: ldc #105 // String args | |
;; 81: invokestatic #91 // Method clojure/lang/Symbol.intern:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; | |
;; 84: invokestatic #111 // Method clojure/lang/Tuple.create:(Ljava/lang/Object;Ljava/lang/Object;)Lclojure/lang/IPersistentVector; | |
;; 87: aastore | |
;; 88: invokestatic #117 // Method java/util/Arrays.asList:([Ljava/lang/Object;)Ljava/util/List; | |
;; 91: invokestatic #122 // Method clojure/lang/PersistentList.create:(Ljava/util/List;)Lclojure/lang/IPersistentList; | |
;; 94: aastore | |
;; 95: dup | |
;; 96: iconst_2 | |
;; 97: aconst_null | |
;; 98: ldc #124 // String line | |
;; 100: invokestatic #101 // Method clojure/lang/RT.keyword:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; | |
;; 103: aastore | |
;; 104: dup | |
;; 105: iconst_3 | |
;; 106: bipush 6 | |
;; 108: invokestatic #130 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; | |
;; 111: aastore | |
;; 112: dup | |
;; 113: iconst_4 | |
;; 114: aconst_null | |
;; 115: ldc #132 // String column | |
;; 117: invokestatic #101 // Method clojure/lang/RT.keyword:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; | |
;; 120: aastore | |
;; 121: dup | |
;; 122: iconst_5 | |
;; 123: iconst_1 | |
;; 124: invokestatic #130 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; | |
;; 127: aastore | |
;; 128: dup | |
;; 129: bipush 6 | |
;; 131: aconst_null | |
;; 132: ldc #134 // String file | |
;; 134: invokestatic #101 // Method clojure/lang/RT.keyword:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Keyword; | |
;; 137: aastore | |
;; 138: dup | |
;; 139: bipush 7 | |
;; 141: ldc #136 // String cloud/seltzer1717/core.clj | |
;; 143: aastore | |
;; 144: invokestatic #140 // Method clojure/lang/RT.map:([Ljava/lang/Object;)Lclojure/lang/IPersistentMap; | |
;; 147: checkcast #93 // class clojure/lang/AFn | |
;; 150: putstatic #59 // Field const__11:Lclojure/lang/AFn; | |
;; 153: return | |
;; public static {}; | |
;; descriptor: ()V | |
;; Code: | |
;; 0: invokestatic #143 // Method __init0:()V | |
;; 3: ldc #145 // String cloud.seltzer1717.core__init | |
;; 5: invokestatic #149 // Method clojure/lang/RT.classForName:(Ljava/lang/String;)Ljava/lang/Class; | |
;; 8: invokevirtual #155 // Method java/lang/Class.getClassLoader:()Ljava/lang/ClassLoader; | |
;; 11: invokestatic #161 // Method clojure/lang/Compiler.pushNSandLoader:(Ljava/lang/ClassLoader;)V | |
;; 14: invokestatic #163 // Method load:()V | |
;; 17: invokestatic #166 // Method clojure/lang/Var.popThreadBindings:()V | |
;; 20: goto 27 | |
;; 23: invokestatic #166 // Method clojure/lang/Var.popThreadBindings:()V | |
;; 26: athrow | |
;; 27: return | |
;; Exception table: | |
;; from to target type | |
;; 14 17 23 any | |
;; } | |
;; Compiled from "core.clj" | |
;; public final class cloud.seltzer1717.core$_main extends clojure.lang.RestFn { | |
;; public cloud.seltzer1717.core$_main(); | |
;; descriptor: ()V | |
;; Code: | |
;; 0: aload_0 | |
;; 1: invokespecial #9 // Method clojure/lang/RestFn."<init>":()V | |
;; 4: return | |
;; *LineNumberTable*: | |
;; line 6: 0 | |
;; public static java.lang.Object invokeStatic(clojure.lang.ISeq); | |
;; descriptor: (Lclojure/lang/ISeq;)Ljava/lang/Object; | |
;; Code: | |
;; 0: ldc #13 // String foo | |
;; 2: pop | |
;; 3: ldc #15 // String FOO | |
;; 5: pop | |
;; 6: ldc #17 // String bar | |
;; 8: astore_1 | |
;; 9: aload_1 | |
;; 10: aconst_null | |
;; 11: astore_1 | |
;; 12: areturn | |
;; *LineNumberTable*: | |
;; line 6: 0 | |
;; LocalVariableTable: | |
;; Start Length Slot Name Signature | |
;; 3 9 2 foo Ljava/lang/Object; | |
;; 6 6 3 foo_cap Ljava/lang/Object; | |
;; 9 3 1 bar Ljava/lang/Object; | |
;; 0 12 0 args Lclojure/lang/ISeq; | |
;; public java.lang.Object doInvoke(java.lang.Object); | |
;; descriptor: (Ljava/lang/Object;)Ljava/lang/Object; | |
;; Code: | |
;; 0: aload_1 | |
;; 1: checkcast #25 // class clojure/lang/ISeq | |
;; 4: aconst_null | |
;; 5: astore_1 | |
;; 6: invokestatic #27 // Method invokeStatic:(Lclojure/lang/ISeq;)Ljava/lang/Object; | |
;; 9: areturn | |
;; *LineNumberTable*: | |
;; line 6: 6 | |
;; public int getRequiredArity(); | |
;; descriptor: ()I | |
;; Code: | |
;; 0: iconst_0 | |
;; 1: ireturn | |
;; public static {}; | |
;; descriptor: ()V | |
;; Code: | |
;; 0: return | |
;; *LineNumberTable*: | |
;; line 6: 0 | |
;; } | |
;; Compiled from "core.clj" | |
;; public final class cloud.seltzer1717.core$fn__158 extends clojure.lang.AFunction { | |
;; public static final clojure.lang.Var const__0; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static final clojure.lang.Var const__1; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static final clojure.lang.Var const__2; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static final clojure.lang.Var const__3; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static final clojure.lang.AFn const__4; | |
;; descriptor: Lclojure/lang/AFn; | |
;; public cloud.seltzer1717.core$fn__158(); | |
;; descriptor: ()V | |
;; Code: | |
;; 0: aload_0 | |
;; 1: invokespecial #9 // Method clojure/lang/AFunction."<init>":()V | |
;; 4: return | |
;; *LineNumberTable*: | |
;; line 1: 0 | |
;; public static java.lang.Object invokeStatic(); | |
;; descriptor: ()Ljava/lang/Object; | |
;; Code: | |
;; 0: getstatic #15 // Field const__0:Lclojure/lang/Var; | |
;; 3: invokevirtual #20 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object; | |
;; 6: checkcast #22 // class clojure/lang/IFn | |
;; 9: getstatic #25 // Field const__1:Lclojure/lang/Var; | |
;; 12: invokevirtual #20 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object; | |
;; 15: checkcast #22 // class clojure/lang/IFn | |
;; 18: getstatic #28 // Field const__2:Lclojure/lang/Var; | |
;; 21: invokeinterface #32, 2 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object; | |
;; 26: getstatic #35 // Field const__3:Lclojure/lang/Var; | |
;; 29: invokevirtual #20 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object; | |
;; 32: getstatic #39 // Field const__4:Lclojure/lang/AFn; | |
;; 35: invokeinterface #42, 4 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; | |
;; 40: areturn | |
;; LineNumberTable: | |
;; line 1: 0 | |
;; line 1: 6 | |
;; line 1: 15 | |
;; line 1: 21 | |
;; line 1: 35 | |
;; public java.lang.Object invoke(); | |
;; descriptor: ()Ljava/lang/Object; | |
;; Code: | |
;; 0: invokestatic #44 // Method invokeStatic:()Ljava/lang/Object; | |
;; 3: areturn | |
;; *LineNumberTable*: | |
;; line 1: 0 | |
;; public static {}; | |
;; descriptor: ()V | |
;; Code: | |
;; 0: ldc #47 // String clojure.core | |
;; 2: ldc #49 // String commute | |
;; 4: invokestatic #55 // Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 7: checkcast #17 // class clojure/lang/Var | |
;; 10: putstatic #15 // Field const__0:Lclojure/lang/Var; | |
;; 13: ldc #47 // String clojure.core | |
;; 15: ldc #57 // String deref | |
;; 17: invokestatic #55 // Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 20: checkcast #17 // class clojure/lang/Var | |
;; 23: putstatic #25 // Field const__1:Lclojure/lang/Var; | |
;; 26: ldc #47 // String clojure.core | |
;; 28: ldc #59 // String *loaded-libs* | |
;; 30: invokestatic #55 // Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 33: checkcast #17 // class clojure/lang/Var | |
;; 36: putstatic #28 // Field const__2:Lclojure/lang/Var; | |
;; 39: ldc #47 // String clojure.core | |
;; 41: ldc #61 // String conj | |
;; 43: invokestatic #55 // Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 46: checkcast #17 // class clojure/lang/Var | |
;; 49: putstatic #35 // Field const__3:Lclojure/lang/Var; | |
;; 52: aconst_null | |
;; 53: ldc #63 // String cloud.seltzer1717.core | |
;; 55: invokestatic #69 // Method clojure/lang/Symbol.intern:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; | |
;; 58: checkcast #71 // class clojure/lang/AFn | |
;; 61: putstatic #39 // Field const__4:Lclojure/lang/AFn; | |
;; 64: return | |
;; LineNumberTable: | |
;; line 1: 0 | |
;; } | |
;; Compiled from "core.clj" | |
;; public final class cloud.seltzer1717.core$loading__6721__auto____156 extends clojure.lang.AFunction { | |
;; public static final clojure.lang.Var const__0; | |
;; descriptor: Lclojure/lang/Var; | |
;; public static final clojure.lang.AFn const__1; | |
;; descriptor: Lclojure/lang/AFn; | |
;; public cloud.seltzer1717.core$loading__6721__auto____156(); | |
;; descriptor: ()V | |
;; Code: | |
;; 0: aload_0 | |
;; 1: invokespecial #9 // Method clojure/lang/AFunction."<init>":()V | |
;; 4: return | |
;; LineNumberTable: | |
;; line 1: 0 | |
;; public java.lang.Object invoke(); | |
;; descriptor: ()Ljava/lang/Object; | |
;; Code: | |
;; 0: iconst_2 | |
;; 1: anewarray #13 // class java/lang/Object | |
;; 4: dup | |
;; 5: iconst_0 | |
;; 6: getstatic #19 // Field clojure/lang/Compiler.LOADER:Lclojure/lang/Var; | |
;; 9: aastore | |
;; 10: dup | |
;; 11: iconst_1 | |
;; 12: aload_0 | |
;; 13: invokevirtual #23 // Method java/lang/Object.getClass:()Ljava/lang/Class; | |
;; 16: checkcast #25 // class java/lang/Class | |
;; 19: invokevirtual #29 // Method java/lang/Class.getClassLoader:()Ljava/lang/ClassLoader; | |
;; 22: aastore | |
;; 23: invokestatic #35 // Method clojure/lang/RT.mapUniqueKeys:([Ljava/lang/Object;)Lclojure/lang/IPersistentMap; | |
;; 26: checkcast #37 // class clojure/lang/Associative | |
;; 29: invokestatic #43 // Method clojure/lang/Var.pushThreadBindings:(Lclojure/lang/Associative;)V | |
;; 32: aconst_null | |
;; 33: pop | |
;; 34: getstatic #46 // Field const__0:Lclojure/lang/Var; | |
;; 37: invokevirtual #49 // Method clojure/lang/Var.getRawRoot:()Ljava/lang/Object; | |
;; 40: checkcast #51 // class clojure/lang/IFn | |
;; 43: getstatic #55 // Field const__1:Lclojure/lang/AFn; | |
;; 46: invokeinterface #58, 2 // InterfaceMethod clojure/lang/IFn.invoke:(Ljava/lang/Object;)Ljava/lang/Object; | |
;; 51: astore_1 | |
;; 52: invokestatic #61 // Method clojure/lang/Var.popThreadBindings:()V | |
;; 55: goto 64 | |
;; 58: astore_2 | |
;; 59: invokestatic #61 // Method clojure/lang/Var.popThreadBindings:()V | |
;; 62: aload_2 | |
;; 63: athrow | |
;; 64: aload_1 | |
;; 65: areturn | |
;; Exception table: | |
;; from to target type | |
;; 32 52 58 any | |
;; LineNumberTable: | |
;; line 1: 0 | |
;; line 1: 6 | |
;; line 1: 13 | |
;; line 1: 19 | |
;; line 1: 29 | |
;; line 1: 40 | |
;; line 1: 46 | |
;; line 1: 52 | |
;; line 1: 59 | |
;; LocalVariableTable: | |
;; Start Length Slot Name Signature | |
;; 0 65 0 this Ljava/lang/Object; | |
;; public static {}; | |
;; descriptor: ()V | |
;; Code: | |
;; 0: ldc #68 // String clojure.core | |
;; 2: ldc #70 // String refer | |
;; 4: invokestatic #74 // Method clojure/lang/RT.var:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Var; | |
;; 7: checkcast #39 // class clojure/lang/Var | |
;; 10: putstatic #46 // Field const__0:Lclojure/lang/Var; | |
;; 13: aconst_null | |
;; 14: ldc #68 // String clojure.core | |
;; 16: invokestatic #80 // Method clojure/lang/Symbol.intern:(Ljava/lang/String;Ljava/lang/String;)Lclojure/lang/Symbol; | |
;; 19: checkcast #82 // class clojure/lang/AFn | |
;; 22: putstatic #55 // Field const__1:Lclojure/lang/AFn; | |
;; 25: return | |
;; LineNumberTable: | |
;; line 1: 0 | |
;; } | |
;; | |
;; | |
;; | |
;; | |
;; THIS SECTION OF THE ABOVE OUTPUT IS MOST CLOSELY MATCHED WITH THE -main FUNCTION AND YET THE LINENUMBERTABLE SEEMS TO | |
;; TREAT THE ENTIRE FUNCTION AS ONE LINE. AM WONDERING IF THIS IS A DIFFERENCE BETWEEN WINDOWS AND LINUX. | |
;; | |
;; | |
;; | |
;; | |
;; Compiled from "core.clj" | |
;; public final class cloud.seltzer1717.core$_main extends clojure.lang.RestFn { | |
;; public cloud.seltzer1717.core$_main(); | |
;; descriptor: ()V | |
;; Code: | |
;; 0: aload_0 | |
;; 1: invokespecial #9 // Method clojure/lang/RestFn."<init>":()V | |
;; 4: return | |
;; *LineNumberTable*: | |
;; line 6: 0 | |
;; public static java.lang.Object invokeStatic(clojure.lang.ISeq); | |
;; descriptor: (Lclojure/lang/ISeq;)Ljava/lang/Object; | |
;; Code: | |
;; 0: ldc #13 // String foo | |
;; 2: pop | |
;; 3: ldc #15 // String FOO | |
;; 5: pop | |
;; 6: ldc #17 // String bar | |
;; 8: astore_1 | |
;; 9: aload_1 | |
;; 10: aconst_null | |
;; 11: astore_1 | |
;; 12: areturn | |
;; *LineNumberTable*: | |
;; line 6: 0 ;; ONLY ONE LINE | |
;; LocalVariableTable: | |
;; Start Length Slot Name Signature | |
;; 3 9 2 foo Ljava/lang/Object; | |
;; 6 6 3 foo_cap Ljava/lang/Object; | |
;; 9 3 1 bar Ljava/lang/Object; | |
;; 0 12 0 args Lclojure/lang/ISeq; | |
(ns cloud.seltzer1717.core | |
(:gen-class | |
:name cloud.seltzer1717.core | |
:main true)) | |
(defn -main [& args] ;; LINE 6 | |
(let [foo "foo" | |
foo-cap "FOO" | |
bar "bar"] | |
bar)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment