├── .gitignore ├── .travis.yml ├── Cargo.lock ├── Cargo.toml ├── PROPOSAL.md ├── README.md ├── REPORT.md ├── data ├── HelloWorld.class └── String.class ├── rt ├── HelloWorld.java ├── java │ ├── io │ │ ├── FilterOutputStream.java │ │ ├── IOException.java │ │ ├── OutputStream.java │ │ └── PrintStream.java │ └── lang │ │ ├── Class.java │ │ ├── Error.java │ │ ├── Exception.java │ │ ├── Object.java │ │ ├── Override.java │ │ ├── RuntimeException.java │ │ ├── String.java │ │ ├── System.java │ │ ├── Throwable.java │ │ └── annotation │ │ └── Annotation.java └── moon │ └── RustStdout.java ├── src ├── bin │ └── main.rs ├── lib.rs ├── logging.rs ├── model │ ├── class_file │ │ ├── access_flags.rs │ │ ├── attribute │ │ │ ├── annotation.rs │ │ │ └── mod.rs │ │ ├── constant_pool.rs │ │ └── mod.rs │ └── mod.rs ├── parser │ ├── class_file.rs │ ├── mod.rs │ └── nom_support.rs ├── util │ ├── mod.rs │ ├── modified_utf8.rs │ └── one_indexed_vec.rs └── vm │ ├── bytecode.rs │ ├── class.rs │ ├── class_loader.rs │ ├── constant_pool.rs │ ├── frame.rs │ ├── mod.rs │ ├── native.rs │ └── value.rs └── tests ├── hello_world.rs └── lib.rs /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/.travis.yml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/Cargo.toml -------------------------------------------------------------------------------- /PROPOSAL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/PROPOSAL.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/README.md -------------------------------------------------------------------------------- /REPORT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/REPORT.md -------------------------------------------------------------------------------- /data/HelloWorld.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/data/HelloWorld.class -------------------------------------------------------------------------------- /data/String.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/data/String.class -------------------------------------------------------------------------------- /rt/HelloWorld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/HelloWorld.java -------------------------------------------------------------------------------- /rt/java/io/FilterOutputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/io/FilterOutputStream.java -------------------------------------------------------------------------------- /rt/java/io/IOException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/io/IOException.java -------------------------------------------------------------------------------- /rt/java/io/OutputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/io/OutputStream.java -------------------------------------------------------------------------------- /rt/java/io/PrintStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/io/PrintStream.java -------------------------------------------------------------------------------- /rt/java/lang/Class.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/Class.java -------------------------------------------------------------------------------- /rt/java/lang/Error.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/Error.java -------------------------------------------------------------------------------- /rt/java/lang/Exception.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/Exception.java -------------------------------------------------------------------------------- /rt/java/lang/Object.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/Object.java -------------------------------------------------------------------------------- /rt/java/lang/Override.java: -------------------------------------------------------------------------------- 1 | package java.lang; 2 | 3 | public @interface Override { 4 | } 5 | -------------------------------------------------------------------------------- /rt/java/lang/RuntimeException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/RuntimeException.java -------------------------------------------------------------------------------- /rt/java/lang/String.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/String.java -------------------------------------------------------------------------------- /rt/java/lang/System.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/System.java -------------------------------------------------------------------------------- /rt/java/lang/Throwable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/Throwable.java -------------------------------------------------------------------------------- /rt/java/lang/annotation/Annotation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/java/lang/annotation/Annotation.java -------------------------------------------------------------------------------- /rt/moon/RustStdout.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/rt/moon/RustStdout.java -------------------------------------------------------------------------------- /src/bin/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/bin/main.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/logging.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/logging.rs -------------------------------------------------------------------------------- /src/model/class_file/access_flags.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/model/class_file/access_flags.rs -------------------------------------------------------------------------------- /src/model/class_file/attribute/annotation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/model/class_file/attribute/annotation.rs -------------------------------------------------------------------------------- /src/model/class_file/attribute/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/model/class_file/attribute/mod.rs -------------------------------------------------------------------------------- /src/model/class_file/constant_pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/model/class_file/constant_pool.rs -------------------------------------------------------------------------------- /src/model/class_file/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/model/class_file/mod.rs -------------------------------------------------------------------------------- /src/model/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/model/mod.rs -------------------------------------------------------------------------------- /src/parser/class_file.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/parser/class_file.rs -------------------------------------------------------------------------------- /src/parser/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/parser/mod.rs -------------------------------------------------------------------------------- /src/parser/nom_support.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/parser/nom_support.rs -------------------------------------------------------------------------------- /src/util/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/util/mod.rs -------------------------------------------------------------------------------- /src/util/modified_utf8.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/util/modified_utf8.rs -------------------------------------------------------------------------------- /src/util/one_indexed_vec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/util/one_indexed_vec.rs -------------------------------------------------------------------------------- /src/vm/bytecode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/bytecode.rs -------------------------------------------------------------------------------- /src/vm/class.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/class.rs -------------------------------------------------------------------------------- /src/vm/class_loader.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/class_loader.rs -------------------------------------------------------------------------------- /src/vm/constant_pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/constant_pool.rs -------------------------------------------------------------------------------- /src/vm/frame.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/frame.rs -------------------------------------------------------------------------------- /src/vm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/mod.rs -------------------------------------------------------------------------------- /src/vm/native.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/native.rs -------------------------------------------------------------------------------- /src/vm/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/src/vm/value.rs -------------------------------------------------------------------------------- /tests/hello_world.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmcc/rust-jvm/HEAD/tests/hello_world.rs -------------------------------------------------------------------------------- /tests/lib.rs: -------------------------------------------------------------------------------- 1 | mod hello_world; 2 | --------------------------------------------------------------------------------