1 /*
2 * Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
27 #define CLASSFILE_CONSTANTS_H
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 /* Classfile version number for this information */
34 #define JVM_CLASSFILE_MAJOR_VERSION @@VERSION_CLASSFILE_MAJOR@@
35 #define JVM_CLASSFILE_MINOR_VERSION @@VERSION_CLASSFILE_MINOR@@
36
37 /* Flags */
38
39 enum {
40 JVM_ACC_PUBLIC = 0x0001,
41 JVM_ACC_PRIVATE = 0x0002,
42 JVM_ACC_PROTECTED = 0x0004,
43 JVM_ACC_STATIC = 0x0008,
44 JVM_ACC_FINAL = 0x0010,
45 JVM_ACC_SYNCHRONIZED = 0x0020,
46 JVM_ACC_SUPER = 0x0020,
47 JVM_ACC_VOLATILE = 0x0040,
48 JVM_ACC_BRIDGE = 0x0040,
49 JVM_ACC_TRANSIENT = 0x0080,
50 JVM_ACC_VARARGS = 0x0080,
51 JVM_ACC_NATIVE = 0x0100,
52 JVM_ACC_INTERFACE = 0x0200,
53 JVM_ACC_ABSTRACT = 0x0400,
54 JVM_ACC_STRICT = 0x0800,
55 JVM_ACC_SYNTHETIC = 0x1000,
56 JVM_ACC_ANNOTATION = 0x2000,
57 JVM_ACC_ENUM = 0x4000,
58 JVM_ACC_MODULE = 0x8000
59 };
60
61 #define JVM_ACC_PUBLIC_BIT 0
62 #define JVM_ACC_PRIVATE_BIT 1
63 #define JVM_ACC_PROTECTED_BIT 2
64 #define JVM_ACC_STATIC_BIT 3
65 #define JVM_ACC_FINAL_BIT 4
66 #define JVM_ACC_SYNCHRONIZED_BIT 5
67 #define JVM_ACC_SUPER_BIT 5
68 #define JVM_ACC_VOLATILE_BIT 6
69 #define JVM_ACC_BRIDGE_BIT 6
70 #define JVM_ACC_TRANSIENT_BIT 7
71 #define JVM_ACC_VARARGS_BIT 7
72 #define JVM_ACC_NATIVE_BIT 8
73 #define JVM_ACC_INTERFACE_BIT 9
74 #define JVM_ACC_ABSTRACT_BIT 10
|
1 /*
2 * Copyright (c) 2004, 2026, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
27 #define CLASSFILE_CONSTANTS_H
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 /* Classfile version number for this information */
34 #define JVM_CLASSFILE_MAJOR_VERSION @@VERSION_CLASSFILE_MAJOR@@
35 #define JVM_CLASSFILE_MINOR_VERSION @@VERSION_CLASSFILE_MINOR@@
36
37 /* Flags */
38
39 enum {
40 JVM_ACC_PUBLIC = 0x0001,
41 JVM_ACC_PRIVATE = 0x0002,
42 JVM_ACC_PROTECTED = 0x0004,
43 JVM_ACC_STATIC = 0x0008,
44 JVM_ACC_FINAL = 0x0010,
45 JVM_ACC_SYNCHRONIZED = 0x0020,
46 JVM_ACC_SUPER = 0x0020,
47 JVM_ACC_IDENTITY = 0x0020,
48 JVM_ACC_VOLATILE = 0x0040,
49 JVM_ACC_BRIDGE = 0x0040,
50 JVM_ACC_TRANSIENT = 0x0080,
51 JVM_ACC_VARARGS = 0x0080,
52 JVM_ACC_NATIVE = 0x0100,
53 JVM_ACC_INTERFACE = 0x0200,
54 JVM_ACC_ABSTRACT = 0x0400,
55 JVM_ACC_STRICT = 0x0800,
56 JVM_ACC_STRICT_INIT = 0x0800,
57 JVM_ACC_SYNTHETIC = 0x1000,
58 JVM_ACC_ANNOTATION = 0x2000,
59 JVM_ACC_ENUM = 0x4000,
60 JVM_ACC_MODULE = 0x8000
61 };
62
63 #define JVM_ACC_PUBLIC_BIT 0
64 #define JVM_ACC_PRIVATE_BIT 1
65 #define JVM_ACC_PROTECTED_BIT 2
66 #define JVM_ACC_STATIC_BIT 3
67 #define JVM_ACC_FINAL_BIT 4
68 #define JVM_ACC_SYNCHRONIZED_BIT 5
69 #define JVM_ACC_SUPER_BIT 5
70 #define JVM_ACC_VOLATILE_BIT 6
71 #define JVM_ACC_BRIDGE_BIT 6
72 #define JVM_ACC_TRANSIENT_BIT 7
73 #define JVM_ACC_VARARGS_BIT 7
74 #define JVM_ACC_NATIVE_BIT 8
75 #define JVM_ACC_INTERFACE_BIT 9
76 #define JVM_ACC_ABSTRACT_BIT 10
|