1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//! # Rusty JVM
//!
//! A Java Virtual Machine (JVM) interpreter written in Rust from scratch — with no dependency on existing JVMs.
//!
//! `rusty-jvm` executes Java bytecode in interpreted mode and aims to support as much of the Java language as possible.
//! It currently supports a broad set of language features of Java 25, with garbage collection and multithreading planned for future releases.
//!
//! ## Features
//! See the [README.md](https://github.com/hextriclosan/rusty-jvm/blob/rusty_jvm-v0.5.0/README.md#implemented-key-features) for the full list of implemented features.
//!
//! ## Usage
//!
//! ### 1. Create a simple Java program
//! ```java
//! public class Hello {
//! public static void main(String[] args) {
//! System.out.println("Hello, world!");
//! }
//! }
//! ```
//!
//! ### 2. Compile the program
//! ```sh
//! javac Hello.java
//! ```
//!
//! ### 3. Run it with Rusty JVM
//! ```sh
//! rusty-jvm Hello
//! ```
use new;
use Getters;
use IndexMap;
pub use run;
/// Represents the command-line arguments for the Java program.