Skip to main content

rust_asm/
constants.rs

1/// Java 1.1 ClassFile version 45
2pub const V1_1: u16 = 45;
3/// Java 1.2 ClassFile version 46
4pub const V1_2: u16 = 46;
5/// Java 1.3 ClassFile version 47
6pub const V1_3: u16 = 47;
7/// Java 1.4 ClassFile version 48
8pub const V1_4: u16 = 48;
9/// Java 1.5 ClassFile version 49
10pub const V1_5: u16 = 49;
11/// Java 1.6 ClassFile version 50
12pub const V1_6: u16 = 50;
13/// Java 1.7 ClassFile version 51
14pub const V1_7: u16 = 51;
15/// Java 1.8 ClassFile version 52
16pub const V1_8: u16 = 52;
17/// Java 9 ClassFile version 53
18pub const V9: u16 = 53;
19/// Java 10 ClassFile version 54
20pub const V10: u16 = 54;
21/// Java 11 ClassFile version 55
22pub const V11: u16 = 55;
23/// Java 12 ClassFile version 56
24pub const V12: u16 = 56;
25/// Java 13 ClassFile version 57
26pub const V13: u16 = 57;
27/// Java 14 ClassFile version 58
28pub const V14: u16 = 58;
29/// Java 15 ClassFile version 59
30pub const V15: u16 = 59;
31/// Java 16 ClassFile version 60
32pub const V16: u16 = 60;
33/// Java 17 ClassFile version 61
34pub const V17: u16 = 61;
35/// Java 18 ClassFile version 62
36pub const V18: u16 = 62;
37/// Java 19 ClassFile version 63
38pub const V19: u16 = 63;
39/// Java 20 ClassFile version 64
40pub const V20: u16 = 64;
41/// Java 21 ClassFile version 65
42pub const V21: u16 = 65;
43/// Java 22 ClassFile version 66
44pub const V22: u16 = 66;
45/// Java 23 ClassFile version 67
46pub const V23: u16 = 67;
47/// Java 24 ClassFile version 68
48pub const V24: u16 = 68;
49/// Java 25 ClassFile version 69
50pub const V25: u16 = 69;
51
52pub const ACC_PUBLIC: u16 = 0x0001;
53pub const ACC_PRIVATE: u16 = 0x0002;
54pub const ACC_PROTECTED: u16 = 0x0004;
55pub const ACC_STATIC: u16 = 0x0008;
56pub const ACC_FINAL: u16 = 0x0010;
57pub const ACC_SUPER: u16 = 0x0020;
58pub const ACC_SYNCHRONIZED: u16 = 0x0020;
59pub const ACC_VOLATILE: u16 = 0x0040;
60pub const ACC_BRIDGE: u16 = 0x0040;
61pub const ACC_TRANSIENT: u16 = 0x0080;
62pub const ACC_VARARGS: u16 = 0x0080;
63pub const ACC_NATIVE: u16 = 0x0100;
64pub const ACC_INTERFACE: u16 = 0x0200;
65pub const ACC_ABSTRACT: u16 = 0x0400;
66pub const ACC_STRICT: u16 = 0x0800;
67pub const ACC_SYNTHETIC: u16 = 0x1000;
68pub const ACC_ANNOTATION: u16 = 0x2000;
69pub const ACC_ENUM: u16 = 0x4000;
70pub const ACC_MODULE: u16 = 0x8000;
71
72// JPMS-specific aliases. The same raw bit values are context dependent.
73pub const ACC_OPEN: u16 = 0x0020;
74pub const ACC_TRANSITIVE: u16 = 0x0020;
75pub const ACC_STATIC_PHASE: u16 = 0x0040;
76pub const ACC_MANDATED: u16 = 0x8000;
77
78//method handle info
79pub const REF_GET_FIELD: u8 = 1;
80pub const REF_GET_STATIC: u8 = 2;
81pub const REF_PUT_FIELD: u8 = 3;
82pub const REF_PUT_STATIC: u8 = 4;
83pub const REF_INVOKE_VIRTUAL: u8 = 5;
84pub const REF_INVOKE_STATIC: u8 = 6;
85pub const REF_INVOKE_SPECIAL: u8 = 7;
86pub const REF_NEW_INVOKE_SPECIAL: u8 = 8;
87pub const REF_INVOKE_INTERFACE: u8 = 9;
88
89pub const TA_TARGET_CLASS_TYPE_PARAMETER: u8 = 0x00;
90pub const TA_TARGET_METHOD_TYPE_PARAMETER: u8 = 0x01;
91pub const TA_TARGET_CLASS_EXTENDS: u8 = 0x10;
92pub const TA_TARGET_CLASS_TYPE_PARAMETER_BOUND: u8 = 0x11;
93pub const TA_TARGET_METHOD_TYPE_PARAMETER_BOUND: u8 = 0x12;
94pub const TA_TARGET_FIELD: u8 = 0x13;
95pub const TA_TARGET_METHOD_RETURN: u8 = 0x14;
96pub const TA_TARGET_METHOD_RECEIVER: u8 = 0x15;
97pub const TA_TARGET_METHOD_FORMAL_PARAMETER: u8 = 0x16;
98pub const TA_TARGET_THROWS: u8 = 0x17;
99pub const TA_TARGET_LOCAL_VARIABLE: u8 = 0x40;
100pub const TA_TARGET_RESOURCE_VARIABLE: u8 = 0x41;
101pub const TA_TARGET_EXCEPTION_PARAMETER: u8 = 0x42;
102pub const TA_TARGET_INSTANCEOF: u8 = 0x43;
103pub const TA_TARGET_NEW: u8 = 0x44;
104pub const TA_TARGET_CONSTRUCTOR_REFERENCE_RECEIVER: u8 = 0x45;
105pub const TA_TARGET_METHOD_REFERENCE_RECEIVER: u8 = 0x46;
106pub const TA_TARGET_CAST: u8 = 0x47;
107pub const TA_TARGET_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT: u8 = 0x48;
108pub const TA_TARGET_METHOD_INVOCATION_TYPE_ARGUMENT: u8 = 0x49;
109pub const TA_TARGET_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT: u8 = 0x4A;
110pub const TA_TARGET_METHOD_REFERENCE_TYPE_ARGUMENT: u8 = 0x4B;
111
112pub const TA_TYPE_PATH_ARRAY: u8 = 0;
113pub const TA_TYPE_PATH_INNER_TYPE: u8 = 1;
114pub const TA_TYPE_PATH_WILDCARD: u8 = 2;
115pub const TA_TYPE_PATH_TYPE_ARGUMENT: u8 = 3;