rusty-javac 0.2.2

A Java compiler written in Rust.
Documentation
pub const CLASSES: &[&str] = &[
    "java/lang/Appendable",
    "java/lang/AutoCloseable",
    "java/lang/Boolean",
    "java/lang/Byte",
    "java/lang/Character",
    "java/lang/CharSequence",
    "java/lang/Class",
    "java/lang/ClassLoader",
    "java/lang/Comparable",
    "java/lang/Double",
    "java/lang/Enum",
    "java/lang/Exception",
    "java/lang/Float",
    "java/lang/IllegalArgumentException",
    "java/lang/IllegalStateException",
    "java/lang/IndexOutOfBoundsException",
    "java/lang/Integer",
    "java/lang/Iterable",
    "java/lang/Long",
    "java/lang/Math",
    "java/lang/Number",
    "java/lang/Object",
    "java/lang/Record",
    "java/lang/Runtime",
    "java/lang/RuntimeException",
    "java/lang/Short",
    "java/lang/String",
    "java/lang/StringBuffer",
    "java/lang/StringBuilder",
    "java/lang/System",
    "java/lang/Thread",
    "java/lang/Throwable",
    "java/lang/Void",
    "java/lang/annotation/Annotation",
];

pub const INTERFACES: &[&str] = &["java/lang/annotation/Annotation"];

use super::{
    Field, Method, Parent, parent, public_instance_method, public_static_field,
    public_static_method,
};

pub const FIELDS: &[Field] = &[
    public_static_field("java/lang/System", "out", "Ljava/io/PrintStream;"),
    public_static_field("java/lang/System", "err", "Ljava/io/PrintStream;"),
    public_static_field("java/lang/System", "in", "Ljava/io/InputStream;"),
];

pub const METHODS: &[Method] = &[
    public_instance_method("java/lang/Object", "hashCode", "()I"),
    public_instance_method("java/lang/Object", "equals", "(Ljava/lang/Object;)Z"),
    public_instance_method("java/lang/Object", "toString", "()Ljava/lang/String;"),
    public_instance_method("java/lang/Enum", "name", "()Ljava/lang/String;"),
    public_instance_method("java/lang/Enum", "ordinal", "()I"),
    public_static_method(
        "java/lang/Enum",
        "valueOf",
        "(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;",
    ),
    public_instance_method("java/lang/Throwable", "getMessage", "()Ljava/lang/String;"),
    public_instance_method("java/lang/String", "equals", "(Ljava/lang/Object;)Z"),
    public_instance_method(
        "java/lang/String",
        "equalsIgnoreCase",
        "(Ljava/lang/String;)Z",
    ),
    public_instance_method("java/lang/String", "hashCode", "()I"),
    public_instance_method("java/lang/String", "isEmpty", "()Z"),
    public_instance_method("java/lang/String", "length", "()I"),
    public_instance_method("java/lang/String", "charAt", "(I)C"),
    public_instance_method("java/lang/String", "toCharArray", "()[C"),
    public_instance_method("java/lang/String", "toString", "()Ljava/lang/String;"),
    public_instance_method(
        "java/lang/StringBuilder",
        "append",
        "(C)Ljava/lang/StringBuilder;",
    ),
    public_instance_method(
        "java/lang/StringBuilder",
        "append",
        "(I)Ljava/lang/StringBuilder;",
    ),
    public_instance_method(
        "java/lang/StringBuilder",
        "append",
        "(Ljava/lang/String;)Ljava/lang/StringBuilder;",
    ),
    public_instance_method(
        "java/lang/StringBuilder",
        "append",
        "(Ljava/lang/Object;)Ljava/lang/StringBuilder;",
    ),
    public_instance_method(
        "java/lang/StringBuilder",
        "toString",
        "()Ljava/lang/String;",
    ),
    public_instance_method("java/lang/Throwable", "printStackTrace", "()V"),
];

pub const PARENTS: &[Parent] = &[
    parent("java/lang/Boolean", "java/lang/Object"),
    parent("java/lang/Byte", "java/lang/Number"),
    parent("java/lang/Character", "java/lang/Object"),
    parent("java/lang/Double", "java/lang/Number"),
    parent("java/lang/Exception", "java/lang/Throwable"),
    parent("java/lang/Float", "java/lang/Number"),
    parent("java/lang/Integer", "java/lang/Number"),
    parent("java/lang/Long", "java/lang/Number"),
    parent("java/lang/Number", "java/lang/Object"),
    parent("java/lang/RuntimeException", "java/lang/Exception"),
    parent("java/lang/Short", "java/lang/Number"),
    parent("java/lang/String", "java/lang/Object"),
    parent("java/lang/StringBuffer", "java/lang/Object"),
    parent("java/lang/StringBuilder", "java/lang/Object"),
    parent("java/lang/System", "java/lang/Object"),
    parent("java/lang/Throwable", "java/lang/Object"),
    parent("java/lang/Enum", "java/lang/Object"),
    parent("java/lang/Record", "java/lang/Object"),
];