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
|