MajorVersion 3 MinorVersion 45 ConstantPool { cp1: Method #cp46 #cp86 // javax.microedition.midlet.MIDlet. () -> void cp2: Class #cp87 // javax.microedition.lcdui.Command cp3: String #cp88 // Exit cp4: Method #cp2 #cp89 // javax.microedition.lcdui.Command. (java.lang.String, int, int) -> void cp5: Field #cp45 #cp90 // example.PropExample.exitCommand javax.microedition.lcdui.Command cp6: Method #cp91 #cp92 // javax.microedition.lcdui.Display.getDisplay (javax.microedition.midlet.MIDlet) -> javax.microedition.lcdui.Display cp7: Field #cp45 #cp93 // example.PropExample.display javax.microedition.lcdui.Display cp8: Method #cp94 #cp95 // java.lang.Runtime.getRuntime () -> java.lang.Runtime cp9: Method #cp94 #cp96 // java.lang.Runtime.gc () -> void cp10: Method #cp94 #cp97 // java.lang.Runtime.freeMemory () -> long cp11: Method #cp94 #cp98 // java.lang.Runtime.totalMemory () -> long cp12: Class #cp99 // java.lang.StringBuffer cp13: Method #cp12 #cp100 // java.lang.StringBuffer. (int) -> void cp14: Field #cp45 #cp101 // example.PropExample.propbuf java.lang.StringBuffer cp15: Class #cp102 // javax.microedition.lcdui.Form cp16: String #cp103 // System Properties cp17: Method #cp15 #cp104 // javax.microedition.lcdui.Form. (java.lang.String) -> void cp18: Field #cp45 #cp105 // example.PropExample.props javax.microedition.lcdui.Form cp19: Method #cp12 #cp86 // java.lang.StringBuffer. () -> void cp20: String #cp106 // Free Memory = cp21: Method #cp12 #cp107 // java.lang.StringBuffer.append (java.lang.String) -> java.lang.StringBuffer cp22: Method #cp12 #cp108 // java.lang.StringBuffer.append (long) -> java.lang.StringBuffer cp23: String #cp109 // \n cp24: Method #cp12 #cp110 // java.lang.StringBuffer.toString () -> java.lang.String cp25: Method #cp15 #cp111 // javax.microedition.lcdui.Form.append (java.lang.String) -> int cp26: String #cp112 // Total Memory = cp27: String #cp113 // microedition.configuration cp28: Method #cp45 #cp114 // example.PropExample.showProp (java.lang.String) -> java.lang.String cp29: String #cp115 // microedition.profiles cp30: String #cp116 // microedition.platform cp31: String #cp117 // microedition.locale cp32: String #cp118 // microedition.encoding cp33: String #cp119 // microedition.encodingClass cp34: String #cp120 // microedition.http_proxy cp35: Method #cp121 #cp122 // javax.microedition.lcdui.Displayable.addCommand (javax.microedition.lcdui.Command) -> void cp36: Method #cp121 #cp123 // javax.microedition.lcdui.Displayable.setCommandListener (javax.microedition.lcdui.CommandListener) -> void cp37: Method #cp91 #cp124 // javax.microedition.lcdui.Display.setCurrent (javax.microedition.lcdui.Displayable) -> void cp38: Method #cp45 #cp125 // example.PropExample.destroyApp (boolean) -> void cp39: Method #cp46 #cp126 // javax.microedition.midlet.MIDlet.notifyDestroyed () -> void cp40: Method #cp127 #cp128 // java.lang.System.getProperty (java.lang.String) -> java.lang.String cp41: Method #cp12 #cp129 // java.lang.StringBuffer.setLength (int) -> void cp42: String #cp130 // = cp43: String #cp131 // cp44: String #cp132 // \" cp45: Class #cp133 // example.PropExample cp46: Class #cp134 // javax.microedition.midlet.MIDlet cp47: Class #cp135 // javax.microedition.lcdui.CommandListener cp48: Utf8 "display" // display cp49: Utf8 "Ljavax/microedition/lcdui/Display;" // Ljavax/microedition/lcdui/Display; cp50: Utf8 "props" // props cp51: Utf8 "Ljavax/microedition/lcdui/Form;" // Ljavax/microedition/lcdui/Form; cp52: Utf8 "propbuf" // propbuf cp53: Utf8 "Ljava/lang/StringBuffer;" // Ljava/lang/StringBuffer; cp54: Utf8 "exitCommand" // exitCommand cp55: Utf8 "Ljavax/microedition/lcdui/Command;" // Ljavax/microedition/lcdui/Command; cp56: Utf8 "" // cp57: Utf8 "()V" // ()V cp58: Utf8 "Code" // Code cp59: Utf8 "LineNumberTable" // LineNumberTable cp60: Utf8 "LocalVariableTable" // LocalVariableTable cp61: Utf8 "this" // this cp62: Utf8 "Lexample/PropExample;" // Lexample/PropExample; cp63: Utf8 "startApp" // startApp cp64: Utf8 "runtime" // runtime cp65: Utf8 "Ljava/lang/Runtime;" // Ljava/lang/Runtime; cp66: Utf8 "free" // free cp67: Utf8 "J" // J cp68: Utf8 "total" // total cp69: Utf8 "commandAction" // commandAction cp70: Utf8 "(Ljavax/microedition/lcdui/Command;Ljavax/microedition/lcdui/Displayable;)V" // (Ljavax/microedition/lcdui/Command;Ljavax/microedition/lcdui/Displayable;)V cp71: Utf8 "c" // c cp72: Utf8 "s" // s cp73: Utf8 "Ljavax/microedition/lcdui/Displayable;" // Ljavax/microedition/lcdui/Displayable; cp74: Utf8 "showProp" // showProp cp75: Utf8 "(Ljava/lang/String;)Ljava/lang/String;" // (Ljava/lang/String;)Ljava/lang/String; cp76: Utf8 "prop" // prop cp77: Utf8 "Ljava/lang/String;" // Ljava/lang/String; cp78: Utf8 "value" // value cp79: Utf8 "pauseApp" // pauseApp cp80: Utf8 "destroyApp" // destroyApp cp81: Utf8 "(Z)V" // (Z)V cp82: Utf8 "unconditional" // unconditional cp83: Utf8 "Z" // Z cp84: Utf8 "SourceFile" // SourceFile cp85: Utf8 "PropExample.java" // PropExample.java cp86: NameType #cp56 #cp57 // () -> void cp87: Utf8 "javax/microedition/lcdui/Command" // javax/microedition/lcdui/Command cp88: Utf8 "Exit" // Exit cp89: NameType #cp56 #cp136 // (java.lang.String, int, int) -> void cp90: NameType #cp54 #cp55 // exitCommand javax.microedition.lcdui.Command cp91: Class #cp137 // javax.microedition.lcdui.Display cp92: NameType #cp138 #cp139 // getDisplay (javax.microedition.midlet.MIDlet) -> javax.microedition.lcdui.Display cp93: NameType #cp48 #cp49 // display javax.microedition.lcdui.Display cp94: Class #cp140 // java.lang.Runtime cp95: NameType #cp141 #cp142 // getRuntime () -> java.lang.Runtime cp96: NameType #cp143 #cp57 // gc () -> void cp97: NameType #cp144 #cp145 // freeMemory () -> long cp98: NameType #cp146 #cp145 // totalMemory () -> long cp99: Utf8 "java/lang/StringBuffer" // java/lang/StringBuffer cp100: NameType #cp56 #cp147 // (int) -> void cp101: NameType #cp52 #cp53 // propbuf java.lang.StringBuffer cp102: Utf8 "javax/microedition/lcdui/Form" // javax/microedition/lcdui/Form cp103: Utf8 "System Properties" // System Properties cp104: NameType #cp56 #cp148 // (java.lang.String) -> void cp105: NameType #cp50 #cp51 // props javax.microedition.lcdui.Form cp106: Utf8 "Free Memory = " // Free Memory = cp107: NameType #cp149 #cp150 // append (java.lang.String) -> java.lang.StringBuffer cp108: NameType #cp149 #cp151 // append (long) -> java.lang.StringBuffer cp109: Utf8 "\n" // \n cp110: NameType #cp152 #cp153 // toString () -> java.lang.String cp111: NameType #cp149 #cp154 // append (java.lang.String) -> int cp112: Utf8 "Total Memory = " // Total Memory = cp113: Utf8 "microedition.configuration" // microedition.configuration cp114: NameType #cp74 #cp75 // showProp (java.lang.String) -> java.lang.String cp115: Utf8 "microedition.profiles" // microedition.profiles cp116: Utf8 "microedition.platform" // microedition.platform cp117: Utf8 "microedition.locale" // microedition.locale cp118: Utf8 "microedition.encoding" // microedition.encoding cp119: Utf8 "microedition.encodingClass" // microedition.encodingClass cp120: Utf8 "microedition.http_proxy" // microedition.http_proxy cp121: Class #cp155 // javax.microedition.lcdui.Displayable cp122: NameType #cp156 #cp157 // addCommand (javax.microedition.lcdui.Command) -> void cp123: NameType #cp158 #cp159 // setCommandListener (javax.microedition.lcdui.CommandListener) -> void cp124: NameType #cp160 #cp161 // setCurrent (javax.microedition.lcdui.Displayable) -> void cp125: NameType #cp80 #cp81 // destroyApp (boolean) -> void cp126: NameType #cp162 #cp57 // notifyDestroyed () -> void cp127: Class #cp163 // java.lang.System cp128: NameType #cp164 #cp75 // getProperty (java.lang.String) -> java.lang.String cp129: NameType #cp165 #cp147 // setLength (int) -> void cp130: Utf8 " = " // = cp131: Utf8 "" // cp132: Utf8 "\"" // \" cp133: Utf8 "example/PropExample" // example/PropExample cp134: Utf8 "javax/microedition/midlet/MIDlet" // javax/microedition/midlet/MIDlet cp135: Utf8 "javax/microedition/lcdui/CommandListener" // javax/microedition/lcdui/CommandListener cp136: Utf8 "(Ljava/lang/String;II)V" // (Ljava/lang/String;II)V cp137: Utf8 "javax/microedition/lcdui/Display" // javax/microedition/lcdui/Display cp138: Utf8 "getDisplay" // getDisplay cp139: Utf8 "(Ljavax/microedition/midlet/MIDlet;)Ljavax/microedition/lcdui/Display;" // (Ljavax/microedition/midlet/MIDlet;)Ljavax/microedition/lcdui/Display; cp140: Utf8 "java/lang/Runtime" // java/lang/Runtime cp141: Utf8 "getRuntime" // getRuntime cp142: Utf8 "()Ljava/lang/Runtime;" // ()Ljava/lang/Runtime; cp143: Utf8 "gc" // gc cp144: Utf8 "freeMemory" // freeMemory cp145: Utf8 "()J" // ()J cp146: Utf8 "totalMemory" // totalMemory cp147: Utf8 "(I)V" // (I)V cp148: Utf8 "(Ljava/lang/String;)V" // (Ljava/lang/String;)V cp149: Utf8 "append" // append cp150: Utf8 "(Ljava/lang/String;)Ljava/lang/StringBuffer;" // (Ljava/lang/String;)Ljava/lang/StringBuffer; cp151: Utf8 "(J)Ljava/lang/StringBuffer;" // (J)Ljava/lang/StringBuffer; cp152: Utf8 "toString" // toString cp153: Utf8 "()Ljava/lang/String;" // ()Ljava/lang/String; cp154: Utf8 "(Ljava/lang/String;)I" // (Ljava/lang/String;)I cp155: Utf8 "javax/microedition/lcdui/Displayable" // javax/microedition/lcdui/Displayable cp156: Utf8 "addCommand" // addCommand cp157: Utf8 "(Ljavax/microedition/lcdui/Command;)V" // (Ljavax/microedition/lcdui/Command;)V cp158: Utf8 "setCommandListener" // setCommandListener cp159: Utf8 "(Ljavax/microedition/lcdui/CommandListener;)V" // (Ljavax/microedition/lcdui/CommandListener;)V cp160: Utf8 "setCurrent" // setCurrent cp161: Utf8 "(Ljavax/microedition/lcdui/Displayable;)V" // (Ljavax/microedition/lcdui/Displayable;)V cp162: Utf8 "notifyDestroyed" // notifyDestroyed cp163: Utf8 "java/lang/System" // java/lang/System cp164: Utf8 "getProperty" // getProperty cp165: Utf8 "setLength" // setLength } AccessFlag { ACC_PUBLIC ACC_SUPER } This 45 Super 46 Interfaces { 47 } Fields { AccessFlag { ACC_PRIVATE } // javax.microedition.lcdui.Display display 48 // Utf8 "display" 49 // Utf8 "Ljavax/microedition/lcdui/Display;" Attributes { } AccessFlag { ACC_PRIVATE } // javax.microedition.lcdui.Form props 50 // Utf8 "props" 51 // Utf8 "Ljavax/microedition/lcdui/Form;" Attributes { } AccessFlag { ACC_PRIVATE } // java.lang.StringBuffer propbuf 52 // Utf8 "propbuf" 53 // Utf8 "Ljava/lang/StringBuffer;" Attributes { } AccessFlag { ACC_PRIVATE } // javax.microedition.lcdui.Command exitCommand 54 // Utf8 "exitCommand" 55 // Utf8 "Ljavax/microedition/lcdui/Command;" Attributes { } } Methods { AccessFlag { ACC_PUBLIC } // () -> void 56 // Utf8 "" 57 // Utf8 "()V" Attributes { Name 58 // Utf8 "Code" Len 83 { MaxStack 6 MaxLocals 1 Code { // 29 // public PropExample() { aload_0 // 42 invokespecial #cp1 // 183 0 1 // private Command exitCommand = new Command("Exit", Command.EXIT, 1); aload_0 // 42 new #cp2 // 187 0 2 dup // 89 ldc #cp3 // 18 3 bipush 7 // 16 7 iconst_1 // 4 invokespecial #cp4 // 183 0 4 putfield #cp5 // 181 0 5 // display = Display.getDisplay(this); aload_0 // 42 aload_0 // 42 invokestatic #cp6 // 184 0 6 putfield #cp7 // 181 0 7 // } return // 177 } Exceptions { } Attributes { Name 59 // Utf8 "LineNumberTable" Len 18 { 0 39 4 33 20 40 28 41 } Name 60 // Utf8 "LocalVariableTable" Len 12 { 0 29 61 62 0 } } } } AccessFlag { ACC_PUBLIC } // startApp () -> void 63 // Utf8 "startApp" 57 // Utf8 "()V" Attributes { Name 58 // Utf8 "Code" Len 383 { MaxStack 4 MaxLocals 6 Code { // 239 // Runtime runtime = Runtime.getRuntime(); invokestatic #cp8 // 184 0 8 astore_1 // 76 // runtime.gc(); aload_1 // 43 invokevirtual #cp9 // 182 0 9 // long free = runtime.freeMemory(); aload_1 // 43 invokevirtual #cp10 // 182 0 10 lstore_2 // 65 // long total = runtime.totalMemory(); aload_1 // 43 invokevirtual #cp11 // 182 0 11 lstore 4 // 55 4 // propbuf = new StringBuffer(50); aload_0 // 42 new #cp12 // 187 0 12 dup // 89 bipush 50 // 16 50 invokespecial #cp13 // 183 0 13 putfield #cp14 // 181 0 14 // props = new Form("System Properties"); aload_0 // 42 new #cp15 // 187 0 15 dup // 89 ldc #cp16 // 18 16 invokespecial #cp17 // 183 0 17 putfield #cp18 // 181 0 18 // props.append("Free Memory = " + free + "\n"); aload_0 // 42 getfield #cp18 // 180 0 18 new #cp12 // 187 0 12 dup // 89 invokespecial #cp19 // 183 0 19 ldc #cp20 // 18 20 invokevirtual #cp21 // 182 0 21 lload_2 // 32 invokevirtual #cp22 // 182 0 22 ldc #cp23 // 18 23 invokevirtual #cp21 // 182 0 21 invokevirtual #cp24 // 182 0 24 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append("Total Memory = " + total + "\n"); aload_0 // 42 getfield #cp18 // 180 0 18 new #cp12 // 187 0 12 dup // 89 invokespecial #cp19 // 183 0 19 ldc #cp26 // 18 26 invokevirtual #cp21 // 182 0 21 lload 4 // 22 4 invokevirtual #cp22 // 182 0 22 ldc #cp23 // 18 23 invokevirtual #cp21 // 182 0 21 invokevirtual #cp24 // 182 0 24 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append(showProp("microedition.configuration")); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 ldc #cp27 // 18 27 invokevirtual #cp28 // 182 0 28 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append(showProp("microedition.profiles")); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 ldc #cp29 // 18 29 invokevirtual #cp28 // 182 0 28 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append(showProp("microedition.platform")); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 ldc #cp30 // 18 30 invokevirtual #cp28 // 182 0 28 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append(showProp("microedition.locale")); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 ldc #cp31 // 18 31 invokevirtual #cp28 // 182 0 28 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append(showProp("microedition.encoding")); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 ldc #cp32 // 18 32 invokevirtual #cp28 // 182 0 28 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append(showProp("microedition.encodingClass")); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 ldc #cp33 // 18 33 invokevirtual #cp28 // 182 0 28 invokevirtual #cp25 // 182 0 25 pop // 87 // props.append(showProp("microedition.http_proxy")); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 ldc #cp34 // 18 34 invokevirtual #cp28 // 182 0 28 invokevirtual #cp25 // 182 0 25 pop // 87 // props.addCommand(exitCommand); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 getfield #cp5 // 180 0 5 invokevirtual #cp35 // 182 0 35 // props.setCommandListener(this); aload_0 // 42 getfield #cp18 // 180 0 18 aload_0 // 42 invokevirtual #cp36 // 182 0 36 // display.setCurrent(props); aload_0 // 42 getfield #cp7 // 180 0 7 aload_0 // 42 getfield #cp18 // 180 0 18 invokevirtual #cp37 // 182 0 37 // } return // 177 } Exceptions { } Attributes { Name 59 // Utf8 "LineNumberTable" Len 78 { 0 47 4 48 8 49 13 50 19 53 32 54 45 56 77 57 110 59 124 60 138 62 152 63 166 64 180 65 194 66 208 68 219 69 227 70 238 71 } Name 60 // Utf8 "LocalVariableTable" Len 42 { 0 239 61 62 0 4 234 64 65 1 13 225 66 67 2 19 219 68 67 4 } } } } AccessFlag { ACC_PUBLIC } // commandAction (javax.microedition.lcdui.Command, javax.microedition.lcdui.Displayable) -> void 69 // Utf8 "commandAction" 70 // Utf8 "(Ljavax/microedition/lcdui/Command;Ljavax/microedition/lcdui/Displayable;)V" Attributes { Name 58 // Utf8 "Code" Len 92 { MaxStack 2 MaxLocals 3 Code { // 18 // if (c == exitCommand) { aload_1 // 43 aload_0 // 42 getfield #cp5 // 180 0 5 if_acmpne 12 // 166 0 12 // destroyApp(false); aload_0 // 42 iconst_0 // 3 invokevirtual #cp38 // 182 0 38 // notifyDestroyed(); aload_0 // 42 invokevirtual #cp39 // 182 0 39 // } return // 177 } Exceptions { } Attributes { Name 59 // Utf8 "LineNumberTable" Len 18 { 0 74 8 75 13 76 17 78 } Name 60 // Utf8 "LocalVariableTable" Len 32 { 0 18 61 62 0 0 18 71 55 1 0 18 72 73 2 } } } } AccessFlag { } // showProp (java.lang.String) -> java.lang.String 74 // Utf8 "showProp" 75 // Utf8 "(Ljava/lang/String;)Ljava/lang/String;" Attributes { Name 58 // Utf8 "Code" Len 198 { MaxStack 2 MaxLocals 3 Code { // 96 // String value = System.getProperty(prop); aload_1 // 43 invokestatic #cp40 // 184 0 40 astore_2 // 77 // propbuf.setLength(0); aload_0 // 42 getfield #cp14 // 180 0 14 iconst_0 // 3 invokevirtual #cp41 // 182 0 41 // propbuf.append(prop); aload_0 // 42 getfield #cp14 // 180 0 14 aload_1 // 43 invokevirtual #cp21 // 182 0 21 pop // 87 // propbuf.append(" = "); aload_0 // 42 getfield #cp14 // 180 0 14 ldc #cp42 // 18 42 invokevirtual #cp21 // 182 0 21 pop // 87 // if (value == null) { aload_2 // 44 ifnonnull 16 // 199 0 16 // propbuf.append(""); aload_0 // 42 getfield #cp14 // 180 0 14 ldc #cp43 // 18 43 invokevirtual #cp21 // 182 0 21 pop // 87 goto 32 // 167 0 32 // propbuf.append("\""); aload_0 // 42 getfield #cp14 // 180 0 14 ldc #cp44 // 18 44 invokevirtual #cp21 // 182 0 21 pop // 87 // propbuf.append(value); aload_0 // 42 getfield #cp14 // 180 0 14 aload_2 // 44 invokevirtual #cp21 // 182 0 21 pop // 87 // propbuf.append("\""); aload_0 // 42 getfield #cp14 // 180 0 14 ldc #cp44 // 18 44 invokevirtual #cp21 // 182 0 21 pop // 87 // propbuf.append("\n"); aload_0 // 42 getfield #cp14 // 180 0 14 ldc #cp23 // 18 23 invokevirtual #cp21 // 182 0 21 pop // 87 // return propbuf.toString(); aload_0 // 42 getfield #cp14 // 180 0 14 invokevirtual #cp24 // 182 0 24 areturn // 176 } Exceptions { } Attributes { Name 59 // Utf8 "LineNumberTable" Len 46 { 0 84 5 85 13 86 22 87 32 88 36 89 49 91 59 92 68 93 78 95 88 96 } Name 60 // Utf8 "LocalVariableTable" Len 32 { 0 96 61 62 0 0 96 76 77 1 5 91 78 77 2 } } } } AccessFlag { ACC_PUBLIC } // pauseApp () -> void 79 // Utf8 "pauseApp" 57 // Utf8 "()V" Attributes { Name 58 // Utf8 "Code" Len 73 { MaxStack 2 MaxLocals 1 Code { // 19 // display.setCurrent(null); aload_0 // 42 getfield #cp7 // 180 0 7 aconst_null // 1 invokevirtual #cp37 // 182 0 37 // propbuf = null; aload_0 // 42 aconst_null // 1 putfield #cp14 // 181 0 14 // props = null; aload_0 // 42 aconst_null // 1 putfield #cp18 // 181 0 18 // } return // 177 } Exceptions { } Attributes { Name 59 // Utf8 "LineNumberTable" Len 18 { 0 103 8 104 13 105 18 106 } Name 60 // Utf8 "LocalVariableTable" Len 12 { 0 19 61 62 0 } } } } AccessFlag { ACC_PUBLIC } // destroyApp (boolean) -> void 80 // Utf8 "destroyApp" 81 // Utf8 "(Z)V" Attributes { Name 58 // Utf8 "Code" Len 53 { MaxStack 0 MaxLocals 2 Code { // 1 // } return // 177 } Exceptions { } Attributes { Name 59 // Utf8 "LineNumberTable" Len 6 { 0 112 } Name 60 // Utf8 "LocalVariableTable" Len 22 { 0 1 61 62 0 0 1 82 83 1 } } } } } Attributes { Name 84 // Utf8 "SourceFile" Len 2 { SourceFile 85 // Utf8 "PropExample.java" } }