pclass_parser/classfile/
consts.rs1use crate::classfile::types::U4;
2
3pub const MAGIC: U4 = 0xCAFEBABE;
4
5pub const METHOD_NAME_INIT: &[u8] = b"<init>";
6pub const METHOD_NAME_CLINIT: &[u8] = b"<clinit>";
7
8pub const MAX_CP_ENTRIES: u16 = 65535;
9pub const MAX_FIELDS_NUM: u16 = 65535;
10pub const MAX_METHODS_NUM: u16 = 65535;
11pub const MAX_DIRECT_SUPER_INTERFACES_NUM: u16 = 65535;
12pub const MAX_LOCAL_VARS_NUM: u16 = 65535;
13pub const MAX_OP_STACKS_SIZE: u16 = 65535;
14pub const MAX_METHOD_PARAMS_NUM: u16 = 255;
15pub const MAX_CONST_STR_LEN: u16 = 65535;
16pub const MAX_ARRAY_DIMENSIONS: u16 = 255;
17
18pub const J_OBJECT: &[u8] = b"java/lang/Object";
19pub const J_CLONEABLE: &[u8] = b"java/lang/Cloneable";
20pub const J_SERIALIZABLE: &[u8] = b"java/io/Serializable";
21pub const J_CLASS: &[u8] = b"java/lang/Class";
22pub const J_STRING: &[u8] = b"java/lang/String";
23pub const J_THREAD: &[u8] = b"java/lang/Thread";
24pub const J_THREAD_GROUP: &[u8] = b"java/lang/ThreadGroup";
25pub const J_SYSTEM: &[u8] = b"java/lang/System";
26
27pub const J_INPUT_STREAM: &[u8] = b"java/io/InputStream";
28pub const J_PRINT_STREAM: &[u8] = b"java/io/PrintStream";
29pub const J_SECURITY_MANAGER: &[u8] = b"java/lang/SecurityManager";
30
31pub const J_FIELD: &[u8] = b"java/lang/reflect/Field";
32pub const J_METHOD: &[u8] = b"java/lang/reflect/Method";
33pub const J_METHOD_CTOR: &[u8] = b"java/lang/reflect/Constructor";
34pub const J_ACCESSIBLE_OBJECT: &[u8] = b"java/lang/reflect/AccessibleObject";
35pub const J_METHODHANDLE: &[u8] = b"java/lang/invoke/MethodHandle";
36pub const J_METHODTYPE: &[u8] = b"java/lang/invoke/MethodType";
37
38pub const J_INTERNAL_ERROR: &[u8] = b"java/lang/InternalError";
39pub const J_NPE: &[u8] = b"java/lang/NullPointerException";
40pub const J_IOEXCEPTION: &[u8] = b"java/io/IOException";
41pub const J_ARRAY_INDEX_OUT_OF_BOUNDS: &[u8] = b"java/lang/ArrayIndexOutOfBoundsException";
42pub const J_CLASS_NOT_FOUND: &[u8] = b"java/lang/ClassNotFoundException";
43pub const J_ARITHMETIC_EX: &[u8] = b"java/lang/ArithmeticException";
44pub const J_SOE: &[u8] = b"java/lang/StackOverflowError";
45pub const J_NASE: &[u8] = b"java/lang/NegativeArraySizeException";
46pub const J_CCE: &[u8] = b"java/lang/ClassCastException";
47pub const J_THROWABLE: &[u8] = b"java/lang/Throwable";
48
49pub const CONSTANT_METHOD_REF_TAG: u8 = 10;
50pub const CONSTANT_INTERFACE_METHOD_REF_TAG: u8 = 11;