< prev index next >

src/java.base/share/native/include/classfile_constants.h.template

Print this page

  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
< prev index next >