< prev index next >

src/jdk.vm.ci/share/classes/jdk.vm.ci.meta/src/jdk/vm/ci/meta/ModifiersProvider.java

Print this page




  25 import static java.lang.reflect.Modifier.ABSTRACT;
  26 import static java.lang.reflect.Modifier.FINAL;
  27 import static java.lang.reflect.Modifier.INTERFACE;
  28 import static java.lang.reflect.Modifier.NATIVE;
  29 import static java.lang.reflect.Modifier.PRIVATE;
  30 import static java.lang.reflect.Modifier.PROTECTED;
  31 import static java.lang.reflect.Modifier.PUBLIC;
  32 import static java.lang.reflect.Modifier.STATIC;
  33 import static java.lang.reflect.Modifier.STRICT;
  34 import static java.lang.reflect.Modifier.SYNCHRONIZED;
  35 import static java.lang.reflect.Modifier.TRANSIENT;
  36 import static java.lang.reflect.Modifier.VOLATILE;
  37 
  38 import java.lang.reflect.Modifier;
  39 
  40 /**
  41  * A Java element (i.e., a class, interface, field or method) that is described by a set of Java
  42  * language {@linkplain #getModifiers() modifiers}.
  43  */
  44 public interface ModifiersProvider {
  45     int BRIDGE = MetaUtil.getNonPublicModifierStaticField("BRIDGE");
  46     int VARARGS = MetaUtil.getNonPublicModifierStaticField("VARARGS");
  47     int SYNTHETIC = MetaUtil.getNonPublicModifierStaticField("SYNTHETIC");
  48     int ANNOTATION = MetaUtil.getNonPublicModifierStaticField("ANNOTATION");
  49     int ENUM = MetaUtil.getNonPublicModifierStaticField("ENUM");
  50     int MANDATED = MetaUtil.getNonPublicModifierStaticField("MANDATED");
  51 
  52     /**
  53      * Returns the Java Virtual Machine modifiers for this element. Note that this can differ from
  54      * standard Java Reflection modifiers. For example at the JVM level, classes (
  55      * {@link ResolvedJavaType}) can not be private or protected.
  56      */
  57     int getModifiers();
  58 
  59     /**
  60      * @see Modifier#isInterface(int)
  61      */
  62     default boolean isInterface() {
  63         return Modifier.isInterface(getModifiers());
  64     }
  65 
  66     /**
  67      * @see Modifier#isSynchronized(int)
  68      */
  69     default boolean isSynchronized() {
  70         return Modifier.isSynchronized(getModifiers());




  25 import static java.lang.reflect.Modifier.ABSTRACT;
  26 import static java.lang.reflect.Modifier.FINAL;
  27 import static java.lang.reflect.Modifier.INTERFACE;
  28 import static java.lang.reflect.Modifier.NATIVE;
  29 import static java.lang.reflect.Modifier.PRIVATE;
  30 import static java.lang.reflect.Modifier.PROTECTED;
  31 import static java.lang.reflect.Modifier.PUBLIC;
  32 import static java.lang.reflect.Modifier.STATIC;
  33 import static java.lang.reflect.Modifier.STRICT;
  34 import static java.lang.reflect.Modifier.SYNCHRONIZED;
  35 import static java.lang.reflect.Modifier.TRANSIENT;
  36 import static java.lang.reflect.Modifier.VOLATILE;
  37 
  38 import java.lang.reflect.Modifier;
  39 
  40 /**
  41  * A Java element (i.e., a class, interface, field or method) that is described by a set of Java
  42  * language {@linkplain #getModifiers() modifiers}.
  43  */
  44 public interface ModifiersProvider {
  45     int BRIDGE = 0x0040;
  46     int VARARGS = 0x0080;
  47     int SYNTHETIC = 0x1000;
  48     int ANNOTATION = 0x2000;
  49     int ENUM = 0x4000;

  50 
  51     /**
  52      * Returns the Java Virtual Machine modifiers for this element. Note that this can differ from
  53      * standard Java Reflection modifiers. For example at the JVM level, classes (
  54      * {@link ResolvedJavaType}) can not be private or protected.
  55      */
  56     int getModifiers();
  57 
  58     /**
  59      * @see Modifier#isInterface(int)
  60      */
  61     default boolean isInterface() {
  62         return Modifier.isInterface(getModifiers());
  63     }
  64 
  65     /**
  66      * @see Modifier#isSynchronized(int)
  67      */
  68     default boolean isSynchronized() {
  69         return Modifier.isSynchronized(getModifiers());


< prev index next >