< prev index next >

src/java.base/share/classes/jdk/internal/org/objectweb/asm/Opcodes.java

Print this page

315     /**
316       * Version flag indicating that the class is using 'preview' features.
317       *
318       * <p>{@code version & V_PREVIEW == V_PREVIEW} tests if a version is flagged with {@code
319       * V_PREVIEW}.
320       */
321     int V_PREVIEW = 0xFFFF0000;
322 
323     // Access flags values, defined in
324     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.1-200-E.1
325     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.5-200-A.1
326     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.6-200-A.1
327     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.25
328 
329     int ACC_PUBLIC = 0x0001; // class, field, method
330     int ACC_PRIVATE = 0x0002; // class, field, method
331     int ACC_PROTECTED = 0x0004; // class, field, method
332     int ACC_STATIC = 0x0008; // field, method
333     int ACC_FINAL = 0x0010; // class, field, method, parameter
334     int ACC_SUPER = 0x0020; // class

335     int ACC_SYNCHRONIZED = 0x0020; // method
336     int ACC_OPEN = 0x0020; // module
337     int ACC_TRANSITIVE = 0x0020; // module requires
338     int ACC_VOLATILE = 0x0040; // field

339     int ACC_BRIDGE = 0x0040; // method
340     int ACC_STATIC_PHASE = 0x0040; // module requires
341     int ACC_VARARGS = 0x0080; // method
342     int ACC_TRANSIENT = 0x0080; // field
343     int ACC_NATIVE = 0x0100; // method

344     int ACC_INTERFACE = 0x0200; // class
345     int ACC_ABSTRACT = 0x0400; // class, method

346     int ACC_STRICT = 0x0800; // method
347     int ACC_SYNTHETIC = 0x1000; // class, field, method, parameter, module *
348     int ACC_ANNOTATION = 0x2000; // class
349     int ACC_ENUM = 0x4000; // class(?) field inner
350     int ACC_MANDATED = 0x8000; // field, method, parameter, module, module *
351     int ACC_MODULE = 0x8000; // class
352 
353     // ASM specific access flags.
354     // WARNING: the 16 least significant bits must NOT be used, to avoid conflicts with standard
355     // access flags, and also to make sure that these flags are automatically filtered out when
356     // written in class files (because access flags are stored using 16 bits only).
357 
358     int ACC_RECORD = 0x10000; // class
359     int ACC_DEPRECATED = 0x20000; // class, field, method
360 
361     // Possible values for the type operand of the NEWARRAY instruction.
362     // See https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-6.html#jvms-6.5.newarray.
363 
364     int T_BOOLEAN = 4;
365     int T_CHAR = 5;

568     int PUTSTATIC = 179; // -
569     int GETFIELD = 180; // -
570     int PUTFIELD = 181; // -
571     int INVOKEVIRTUAL = 182; // visitMethodInsn
572     int INVOKESPECIAL = 183; // -
573     int INVOKESTATIC = 184; // -
574     int INVOKEINTERFACE = 185; // -
575     int INVOKEDYNAMIC = 186; // visitInvokeDynamicInsn
576     int NEW = 187; // visitTypeInsn
577     int NEWARRAY = 188; // visitIntInsn
578     int ANEWARRAY = 189; // visitTypeInsn
579     int ARRAYLENGTH = 190; // visitInsn
580     int ATHROW = 191; // -
581     int CHECKCAST = 192; // visitTypeInsn
582     int INSTANCEOF = 193; // -
583     int MONITORENTER = 194; // visitInsn
584     int MONITOREXIT = 195; // -
585     int MULTIANEWARRAY = 197; // visitMultiANewArrayInsn
586     int IFNULL = 198; // visitJumpInsn
587     int IFNONNULL = 199; // -


588 }
589 

315     /**
316       * Version flag indicating that the class is using 'preview' features.
317       *
318       * <p>{@code version & V_PREVIEW == V_PREVIEW} tests if a version is flagged with {@code
319       * V_PREVIEW}.
320       */
321     int V_PREVIEW = 0xFFFF0000;
322 
323     // Access flags values, defined in
324     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.1-200-E.1
325     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.5-200-A.1
326     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.6-200-A.1
327     // - https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.25
328 
329     int ACC_PUBLIC = 0x0001; // class, field, method
330     int ACC_PRIVATE = 0x0002; // class, field, method
331     int ACC_PROTECTED = 0x0004; // class, field, method
332     int ACC_STATIC = 0x0008; // field, method
333     int ACC_FINAL = 0x0010; // class, field, method, parameter
334     int ACC_SUPER = 0x0020; // class
335     int ACC_IDENTITY = 0x0020; // class
336     int ACC_SYNCHRONIZED = 0x0020; // method
337     int ACC_OPEN = 0x0020; // module
338     int ACC_TRANSITIVE = 0x0020; // module requires
339     int ACC_VOLATILE = 0x0040; // field
340     int ACC_VALUE = 0x0040; // class
341     int ACC_BRIDGE = 0x0040; // method
342     int ACC_STATIC_PHASE = 0x0040; // module requires
343     int ACC_VARARGS = 0x0080; // method
344     int ACC_TRANSIENT = 0x0080; // field
345     int ACC_NATIVE = 0x0100; // method
346     int ACC_INLINE = 0x0100; // inline class
347     int ACC_INTERFACE = 0x0200; // class
348     int ACC_ABSTRACT = 0x0400; // class, method
349     int ACC_PRIMITIVE = 0x0800; // class
350     int ACC_STRICT = 0x0800; // method
351     int ACC_SYNTHETIC = 0x1000; // class, field, method, parameter, module *
352     int ACC_ANNOTATION = 0x2000; // class
353     int ACC_ENUM = 0x4000; // class(?) field inner
354     int ACC_MANDATED = 0x8000; // field, method, parameter, module, module *
355     int ACC_MODULE = 0x8000; // class
356 
357     // ASM specific access flags.
358     // WARNING: the 16 least significant bits must NOT be used, to avoid conflicts with standard
359     // access flags, and also to make sure that these flags are automatically filtered out when
360     // written in class files (because access flags are stored using 16 bits only).
361 
362     int ACC_RECORD = 0x10000; // class
363     int ACC_DEPRECATED = 0x20000; // class, field, method
364 
365     // Possible values for the type operand of the NEWARRAY instruction.
366     // See https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-6.html#jvms-6.5.newarray.
367 
368     int T_BOOLEAN = 4;
369     int T_CHAR = 5;

572     int PUTSTATIC = 179; // -
573     int GETFIELD = 180; // -
574     int PUTFIELD = 181; // -
575     int INVOKEVIRTUAL = 182; // visitMethodInsn
576     int INVOKESPECIAL = 183; // -
577     int INVOKESTATIC = 184; // -
578     int INVOKEINTERFACE = 185; // -
579     int INVOKEDYNAMIC = 186; // visitInvokeDynamicInsn
580     int NEW = 187; // visitTypeInsn
581     int NEWARRAY = 188; // visitIntInsn
582     int ANEWARRAY = 189; // visitTypeInsn
583     int ARRAYLENGTH = 190; // visitInsn
584     int ATHROW = 191; // -
585     int CHECKCAST = 192; // visitTypeInsn
586     int INSTANCEOF = 193; // -
587     int MONITORENTER = 194; // visitInsn
588     int MONITOREXIT = 195; // -
589     int MULTIANEWARRAY = 197; // visitMultiANewArrayInsn
590     int IFNULL = 198; // visitJumpInsn
591     int IFNONNULL = 199; // -
592     int DEFAULT = 203; // visitTypeInsn
593     int WITHFIELD = 204; // visitFieldInsn
594 }
595 
< prev index next >