gitextract_9nbsz2bv/ ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── crates/ │ ├── class-parser/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── class.rs │ │ ├── lib.rs │ │ └── signature.rs │ ├── class-verification/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── checker.rs │ │ └── lib.rs │ ├── classfile/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── attributes.rs │ │ ├── classfile.rs │ │ ├── constant_pool.rs │ │ ├── consts.rs │ │ ├── field_info.rs │ │ ├── flags.rs │ │ ├── lib.rs │ │ ├── method_info.rs │ │ ├── opcode.rs │ │ ├── signature.rs │ │ └── version.rs │ └── vm/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── lib.rs │ ├── native/ │ │ ├── common/ │ │ │ ├── check_format.rs │ │ │ ├── mod.rs │ │ │ └── reflect.rs │ │ ├── java_io_FileDescriptor.rs │ │ ├── java_io_FileInputStream.rs │ │ ├── java_io_FileOutputStream.rs │ │ ├── java_io_UnixFileSystem.rs │ │ ├── java_lang_Class.rs │ │ ├── java_lang_ClassLoader.rs │ │ ├── java_lang_Double.rs │ │ ├── java_lang_Float.rs │ │ ├── java_lang_Object.rs │ │ ├── java_lang_Runtime.rs │ │ ├── java_lang_String.rs │ │ ├── java_lang_System.rs │ │ ├── java_lang_Thread.rs │ │ ├── java_lang_Throwable.rs │ │ ├── java_lang_reflect_Array.rs │ │ ├── java_lang_reflect_Proxy.rs │ │ ├── java_security_AccessController.rs │ │ ├── java_util_concurrent_atomic_AtomicLong.rs │ │ ├── mod.rs │ │ ├── sun_misc_Signal.rs │ │ ├── sun_misc_URLClassPath.rs │ │ ├── sun_misc_Unsafe.rs │ │ ├── sun_misc_VM.rs │ │ ├── sun_nio_cs_StreamEncoder.rs │ │ ├── sun_reflect_ConstantPool.rs │ │ ├── sun_reflect_NativeConstructorAccessorImpl.rs │ │ ├── sun_reflect_NativeMethodAccessorImpl.rs │ │ └── sun_reflect_Reflection.rs │ ├── oop/ │ │ ├── ary.rs │ │ ├── class.rs │ │ ├── consts.rs │ │ ├── field.rs │ │ ├── inst.rs │ │ ├── mirror.rs │ │ ├── mod.rs │ │ ├── reference.rs │ │ └── values.rs │ ├── runtime/ │ │ ├── class_loader.rs │ │ ├── class_path_manager.rs │ │ ├── cmp.rs │ │ ├── constant_pool.rs │ │ ├── consts.rs │ │ ├── dataarea.rs │ │ ├── exception.rs │ │ ├── frame.rs │ │ ├── init_vm.rs │ │ ├── interp.rs │ │ ├── invoke.rs │ │ ├── local.rs │ │ ├── method.rs │ │ ├── mod.rs │ │ ├── slot.rs │ │ ├── stack.rs │ │ ├── sys_dic.rs │ │ ├── thread/ │ │ │ ├── condvar.rs │ │ │ ├── java_thread.rs │ │ │ ├── main.rs │ │ │ ├── mod.rs │ │ │ ├── mutex.rs │ │ │ ├── thread_pool.rs │ │ │ └── threads.rs │ │ └── vm.rs │ ├── types.rs │ └── util/ │ ├── attributes.rs │ ├── consts.rs │ ├── debug.rs │ ├── macros.rs │ ├── mod.rs │ ├── oop.rs │ └── sys.rs ├── jvm/ │ ├── Cargo.toml │ ├── README.md │ ├── r.sh │ ├── sample/ │ │ └── HelloWorld.java │ ├── src/ │ │ ├── main.rs │ │ └── options.rs │ └── t.sh ├── libjvm/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── invocation.rs │ ├── lib.rs │ ├── native.rs │ ├── private.rs │ └── util.rs ├── note.txt └── tools/ ├── javap/ │ ├── Cargo.toml │ ├── run.sh │ ├── src/ │ │ ├── cmd/ │ │ │ ├── disassemble.rs │ │ │ └── mod.rs │ │ ├── main.rs │ │ ├── misc/ │ │ │ ├── class_path_manager.rs │ │ │ ├── mod.rs │ │ │ └── sys_info.rs │ │ ├── sd/ │ │ │ └── mod.rs │ │ ├── strategy.rs │ │ ├── template.rs │ │ ├── trans/ │ │ │ ├── access_flag.rs │ │ │ ├── class_file.rs │ │ │ ├── code.rs │ │ │ ├── constant_pool_trans.rs │ │ │ ├── field.rs │ │ │ ├── instruction/ │ │ │ │ ├── aaload.rs │ │ │ │ ├── aastore.rs │ │ │ │ ├── aconst_null.rs │ │ │ │ ├── aload.rs │ │ │ │ ├── aload_0.rs │ │ │ │ ├── aload_1.rs │ │ │ │ ├── aload_2.rs │ │ │ │ ├── aload_3.rs │ │ │ │ ├── anewarray.rs │ │ │ │ ├── areturn.rs │ │ │ │ ├── arraylength.rs │ │ │ │ ├── astore.rs │ │ │ │ ├── astore_0.rs │ │ │ │ ├── astore_1.rs │ │ │ │ ├── astore_2.rs │ │ │ │ ├── astore_3.rs │ │ │ │ ├── athrow.rs │ │ │ │ ├── baload.rs │ │ │ │ ├── bastore.rs │ │ │ │ ├── bipush.rs │ │ │ │ ├── caload.rs │ │ │ │ ├── castore.rs │ │ │ │ ├── checkcast.rs │ │ │ │ ├── d2f.rs │ │ │ │ ├── d2i.rs │ │ │ │ ├── d2l.rs │ │ │ │ ├── dadd.rs │ │ │ │ ├── daload.rs │ │ │ │ ├── dastore.rs │ │ │ │ ├── dcmpg.rs │ │ │ │ ├── dcmpl.rs │ │ │ │ ├── dconst_0.rs │ │ │ │ ├── dconst_1.rs │ │ │ │ ├── ddiv.rs │ │ │ │ ├── dload.rs │ │ │ │ ├── dload_0.rs │ │ │ │ ├── dload_1.rs │ │ │ │ ├── dload_2.rs │ │ │ │ ├── dload_3.rs │ │ │ │ ├── dmul.rs │ │ │ │ ├── dneg.rs │ │ │ │ ├── drem.rs │ │ │ │ ├── dreturn.rs │ │ │ │ ├── dstore.rs │ │ │ │ ├── dstore_0.rs │ │ │ │ ├── dstore_1.rs │ │ │ │ ├── dstore_2.rs │ │ │ │ ├── dstore_3.rs │ │ │ │ ├── dsub.rs │ │ │ │ ├── dup.rs │ │ │ │ ├── dup2.rs │ │ │ │ ├── dup2_x1.rs │ │ │ │ ├── dup2_x2.rs │ │ │ │ ├── dup_x1.rs │ │ │ │ ├── dup_x2.rs │ │ │ │ ├── f2d.rs │ │ │ │ ├── f2i.rs │ │ │ │ ├── f2l.rs │ │ │ │ ├── fadd.rs │ │ │ │ ├── faload.rs │ │ │ │ ├── fastore.rs │ │ │ │ ├── fcmpg.rs │ │ │ │ ├── fcmpl.rs │ │ │ │ ├── fconst_0.rs │ │ │ │ ├── fconst_1.rs │ │ │ │ ├── fconst_2.rs │ │ │ │ ├── fdiv.rs │ │ │ │ ├── fload.rs │ │ │ │ ├── fload_0.rs │ │ │ │ ├── fload_1.rs │ │ │ │ ├── fload_2.rs │ │ │ │ ├── fload_3.rs │ │ │ │ ├── fmul.rs │ │ │ │ ├── fneg.rs │ │ │ │ ├── frem.rs │ │ │ │ ├── freturn.rs │ │ │ │ ├── fstore.rs │ │ │ │ ├── fstore_0.rs │ │ │ │ ├── fstore_1.rs │ │ │ │ ├── fstore_2.rs │ │ │ │ ├── fstore_3.rs │ │ │ │ ├── fsub.rs │ │ │ │ ├── getfield.rs │ │ │ │ ├── getstatic.rs │ │ │ │ ├── goto.rs │ │ │ │ ├── goto_w.rs │ │ │ │ ├── i2b.rs │ │ │ │ ├── i2c.rs │ │ │ │ ├── i2d.rs │ │ │ │ ├── i2f.rs │ │ │ │ ├── i2l.rs │ │ │ │ ├── i2s.rs │ │ │ │ ├── iadd.rs │ │ │ │ ├── iaload.rs │ │ │ │ ├── iand.rs │ │ │ │ ├── iastore.rs │ │ │ │ ├── iconst_0.rs │ │ │ │ ├── iconst_1.rs │ │ │ │ ├── iconst_2.rs │ │ │ │ ├── iconst_3.rs │ │ │ │ ├── iconst_4.rs │ │ │ │ ├── iconst_5.rs │ │ │ │ ├── iconst_m1.rs │ │ │ │ ├── idiv.rs │ │ │ │ ├── if_acmpeq.rs │ │ │ │ ├── if_acmpne.rs │ │ │ │ ├── if_icmpeq.rs │ │ │ │ ├── if_icmpge.rs │ │ │ │ ├── if_icmpgt.rs │ │ │ │ ├── if_icmple.rs │ │ │ │ ├── if_icmplt.rs │ │ │ │ ├── if_icmpne.rs │ │ │ │ ├── ifeq.rs │ │ │ │ ├── ifge.rs │ │ │ │ ├── ifgt.rs │ │ │ │ ├── ifle.rs │ │ │ │ ├── iflt.rs │ │ │ │ ├── ifne.rs │ │ │ │ ├── ifnonnull.rs │ │ │ │ ├── ifnull.rs │ │ │ │ ├── iinc.rs │ │ │ │ ├── iload.rs │ │ │ │ ├── iload_0.rs │ │ │ │ ├── iload_1.rs │ │ │ │ ├── iload_2.rs │ │ │ │ ├── iload_3.rs │ │ │ │ ├── imul.rs │ │ │ │ ├── ineg.rs │ │ │ │ ├── instanceof.rs │ │ │ │ ├── invokedynamic.rs │ │ │ │ ├── invokeinterface.rs │ │ │ │ ├── invokespecial.rs │ │ │ │ ├── invokestatic.rs │ │ │ │ ├── invokevirtual.rs │ │ │ │ ├── ior.rs │ │ │ │ ├── irem.rs │ │ │ │ ├── ireturn.rs │ │ │ │ ├── ishl.rs │ │ │ │ ├── ishr.rs │ │ │ │ ├── istore.rs │ │ │ │ ├── istore_0.rs │ │ │ │ ├── istore_1.rs │ │ │ │ ├── istore_2.rs │ │ │ │ ├── istore_3.rs │ │ │ │ ├── isub.rs │ │ │ │ ├── iushr.rs │ │ │ │ ├── ixor.rs │ │ │ │ ├── jsr.rs │ │ │ │ ├── jsr_w.rs │ │ │ │ ├── l2d.rs │ │ │ │ ├── l2f.rs │ │ │ │ ├── l2i.rs │ │ │ │ ├── ladd.rs │ │ │ │ ├── laload.rs │ │ │ │ ├── land.rs │ │ │ │ ├── lastore.rs │ │ │ │ ├── lcmp.rs │ │ │ │ ├── lconst_0.rs │ │ │ │ ├── lconst_1.rs │ │ │ │ ├── ldc.rs │ │ │ │ ├── ldc2_w.rs │ │ │ │ ├── ldc_w.rs │ │ │ │ ├── ldiv.rs │ │ │ │ ├── lload.rs │ │ │ │ ├── lload_0.rs │ │ │ │ ├── lload_1.rs │ │ │ │ ├── lload_2.rs │ │ │ │ ├── lload_3.rs │ │ │ │ ├── lmul.rs │ │ │ │ ├── lneg.rs │ │ │ │ ├── lookupswitch.rs │ │ │ │ ├── lor.rs │ │ │ │ ├── lrem.rs │ │ │ │ ├── lreturn.rs │ │ │ │ ├── lshl.rs │ │ │ │ ├── lshr.rs │ │ │ │ ├── lstore.rs │ │ │ │ ├── lstore_0.rs │ │ │ │ ├── lstore_1.rs │ │ │ │ ├── lstore_2.rs │ │ │ │ ├── lstore_3.rs │ │ │ │ ├── lsub.rs │ │ │ │ ├── lushr.rs │ │ │ │ ├── lxor.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── monitorenter.rs │ │ │ │ ├── monitorexit.rs │ │ │ │ ├── multianewarray.rs │ │ │ │ ├── new.rs │ │ │ │ ├── newarray.rs │ │ │ │ ├── nop.rs │ │ │ │ ├── pop.rs │ │ │ │ ├── pop2.rs │ │ │ │ ├── putfield.rs │ │ │ │ ├── putstatic.rs │ │ │ │ ├── ret.rs │ │ │ │ ├── return_void.rs │ │ │ │ ├── saload.rs │ │ │ │ ├── sastore.rs │ │ │ │ ├── sipush.rs │ │ │ │ ├── swap.rs │ │ │ │ ├── tableswitch.rs │ │ │ │ └── wide.rs │ │ │ ├── method.rs │ │ │ ├── mod.rs │ │ │ └── signature_type.rs │ │ └── util/ │ │ ├── mod.rs │ │ └── sys.rs │ └── test/ │ ├── AbstractGraphicObject.java │ ├── EnumMobile.java │ ├── Football.java │ ├── HelloWorld.java │ ├── Hockey.java │ ├── Interface1.java │ └── Sports.java └── misc/ ├── instruction.py └── native.py