< prev index next >

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

Print this page

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

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

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

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

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

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


587 }
588 

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

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