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
|