< prev index next >

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

Print this page

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

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

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

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


589 }
590 

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

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