ClassfileConstants

dotty.tools.dotc.core.classfile.ClassfileConstants$

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

abstract class FlagTranslation

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete fields

inline val ANNOTATION_TAG: '@'
inline val ARRAY_TAG: '['
inline val BOOL_TAG: 'Z'
inline val BYTE_TAG: 'B'
inline val CHAR_TAG: 'C'
inline val CLASS_TAG: 'c'
inline val CONSTANT_CLASS: 7
inline val CONSTANT_DOUBLE: 6
inline val CONSTANT_FIELDREF: 9
inline val CONSTANT_FLOAT: 4
inline val CONSTANT_INTEGER: 3
inline val CONSTANT_INTFMETHODREF: 11
inline val CONSTANT_INVOKEDYNAMIC: 18
inline val CONSTANT_LONG: 5
inline val CONSTANT_METHODHANDLE: 15
inline val CONSTANT_METHODREF: 10
inline val CONSTANT_METHODTYPE: 16
inline val CONSTANT_NAMEANDTYPE: 12
inline val CONSTANT_STRING: 8
inline val CONSTANT_UNICODE: 2
inline val CONSTANT_UTF8: 1
inline val DOUBLE_TAG: 'D'
inline val ENUM_TAG: 'e'
inline val FLOAT_TAG: 'F'
inline val INT_TAG: 'I'
inline val JAVA8_MAJOR_VERSION: 52
inline val JAVA_ACC_ABSTRACT: 1024
inline val JAVA_ACC_ANNOTATION: 8192
inline val JAVA_ACC_BRIDGE: 64
inline val JAVA_ACC_ENUM: 16384
inline val JAVA_ACC_FINAL: 16
inline val JAVA_ACC_INTERFACE: 512
inline val JAVA_ACC_NATIVE: 256
inline val JAVA_ACC_PRIVATE: 2
inline val JAVA_ACC_PROTECTED: 4
inline val JAVA_ACC_PUBLIC: 1

(see http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html)

(see http://java.sun.com/docs/books/jvms/second_edition/jvms-clarify.html)

If the ACC_INTERFACE flag is set, the ACC_ABSTRACT flag must also be set (ch. 2.13.1).

A class file cannot have both its ACC_FINAL and ACC_ABSTRACT flags set (ch. 2.8.2).

A field may have at most one of its ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC flags set (ch. 2.7.4).

A field may not have both its ACC_FINAL and ACC_VOLATILE flags set (ch. 2.9.1).

If a method has its ACC_ABSTRACT flag set it must not have any of its ACC_FINAL, ACC_NATIVE, ACC_PRIVATE, ACC_STATIC, ACC_STRICT, or ACC_SYNCHRONIZED flags set (ch. 2.13.3.2).

All interface methods must have their ACC_ABSTRACT and ACC_PUBLIC flags set.

Note for future reference: see this thread on ACC_SUPER and how its enforcement differs on the android vm. https://groups.google.com/forum/?hl=en#!topic/jvm-languages/jVhzvq8-ZIk

Attributes

inline val JAVA_ACC_STATIC: 8
inline val JAVA_ACC_STRICT: 2048
inline val JAVA_ACC_SUPER: 32
inline val JAVA_ACC_SYNCHRONIZED: 32
inline val JAVA_ACC_SYNTHETIC: 4096
inline val JAVA_ACC_TRANSIENT: 128
inline val JAVA_ACC_VARARGS: 128
inline val JAVA_ACC_VOLATILE: 64
inline val JAVA_MAGIC: -889275714
inline val JAVA_MAJOR_VERSION: 45
inline val JAVA_MINOR_VERSION: 3
inline val LONG_TAG: 'J'
inline val OBJECT_TAG: 'L'
inline val SCALA_NOTHING: "scala.runtime.Nothing$"
inline val SCALA_NULL: "scala.runtime.Null$"
inline val SHORT_TAG: 'S'
inline val STRING_TAG: 's'
inline val TVAR_TAG: 'T'
inline val T_BOOLEAN: 4
inline val T_BYTE: 8
inline val T_CHAR: 5
inline val T_DOUBLE: 7
inline val T_FLOAT: 6
inline val T_INT: 10
inline val T_LONG: 11
inline val T_SHORT: 9
inline val VOID_TAG: 'V'
inline val aaload: 50
inline val aastore: 83
inline val aconst_null: 1
inline val aload: 25
inline val aload_0: 42
inline val aload_1: 43
inline val aload_2: 44
inline val aload_3: 45
inline val anewarray: 189
inline val areturn: 176
inline val arraylength: 190
inline val astore: 58
inline val astore_0: 75
inline val astore_1: 76
inline val astore_2: 77
inline val astore_3: 78
inline val athrow: 191
inline val baload: 51
inline val bastore: 84
inline val bipush: 16
inline val breakpoint: 202
inline val caload: 52
inline val castore: 85
inline val checkcast: 192
inline val d2f: 144
inline val d2i: 142
inline val d2l: 143
inline val dadd: 99
inline val daload: 49
inline val dastore: 82
inline val dcmpg: 152
inline val dcmpl: 151
inline val dconst_0: 14
inline val dconst_1: 15
inline val ddiv: 111
inline val dload: 24
inline val dload_0: 38
inline val dload_1: 39
inline val dload_2: 40
inline val dload_3: 41
inline val dmul: 107
inline val dneg: 119
inline val drem: 115
inline val dreturn: 175
inline val dstore: 57
inline val dstore_0: 71
inline val dstore_1: 72
inline val dstore_2: 73
inline val dstore_3: 74
inline val dsub: 103
inline val dup: 89
inline val dup2: 92
inline val dup2_x1: 93
inline val dup2_x2: 94
inline val dup_x1: 90
inline val dup_x2: 91
inline val f2d: 141
inline val f2i: 139
inline val f2l: 140
inline val fadd: 98
inline val faload: 48
inline val fastore: 81
inline val fcmpg: 150
inline val fcmpl: 149
inline val fconst_0: 11
inline val fconst_1: 12
inline val fconst_2: 13
inline val fdiv: 110
inline val fload: 23
inline val fload_0: 34
inline val fload_1: 35
inline val fload_2: 36
inline val fload_3: 37
inline val fmul: 106
inline val fneg: 118
inline val frem: 114
inline val freturn: 174
inline val fstore: 56
inline val fstore_0: 67
inline val fstore_1: 68
inline val fstore_2: 69
inline val fstore_3: 70
inline val fsub: 102
inline val getfield: 180
inline val getstatic: 178
inline val goto: 167
inline val goto_w: 200
inline val i2b: 145
inline val i2c: 146
inline val i2d: 135
inline val i2f: 134
inline val i2l: 133
inline val i2s: 147
inline val iadd: 96
inline val iaload: 46
inline val iand: 126
inline val iastore: 79
inline val iconst_0: 3
inline val iconst_1: 4
inline val iconst_2: 5
inline val iconst_3: 6
inline val iconst_4: 7
inline val iconst_5: 8
inline val iconst_m1: 2
inline val idiv: 108
inline val if_acmpeq: 165
inline val if_acmpne: 166
inline val if_icmpeq: 159
inline val if_icmpge: 162
inline val if_icmpgt: 163
inline val if_icmple: 164
inline val if_icmplt: 161
inline val if_icmpne: 160
inline val ifeq: 153
inline val ifge: 156
inline val ifgt: 157
inline val ifle: 158
inline val iflt: 155
inline val ifne: 154
inline val ifnonnull: 199
inline val ifnull: 198
inline val iinc: 132
inline val iload: 21
inline val iload_0: 26
inline val iload_1: 27
inline val iload_2: 28
inline val iload_3: 29
inline val impdep1: 254
inline val impdep2: 255
inline val imul: 104
inline val ineg: 116
inline val instanceof: 193
inline val invokeinterface: 185
inline val invokespecial: 183
inline val invokestatic: 184
inline val invokevirtual: 182
inline val ior: 128
inline val irem: 112
inline val ireturn: 172
inline val ishl: 120
inline val ishr: 122
inline val istore: 54
inline val istore_0: 59
inline val istore_1: 60
inline val istore_2: 61
inline val istore_3: 62
inline val isub: 100
inline val iushr: 124
inline val ixor: 130
inline val jsr: 168
inline val jsr_w: 201
inline val l2d: 138
inline val l2f: 137
inline val l2i: 136
inline val ladd: 97
inline val laload: 47
inline val land: 127
inline val lastore: 80
inline val lcmp: 148
inline val lconst_0: 9
inline val lconst_1: 10
inline val ldc: 18
inline val ldc2_w: 20
inline val ldc_w: 19
inline val ldiv: 109
inline val lload: 22
inline val lload_0: 30
inline val lload_1: 31
inline val lload_2: 32
inline val lload_3: 33
inline val lmul: 105
inline val lneg: 117
inline val lookupswitch: 171
inline val lor: 129
inline val lrem: 113
inline val lreturn: 173
inline val lshl: 121
inline val lshr: 123
inline val lstore: 55
inline val lstore_0: 63
inline val lstore_1: 64
inline val lstore_2: 65
inline val lstore_3: 66
inline val lsub: 101
inline val lushr: 125
inline val lxor: 131
inline val monitorenter: 194
inline val monitorexit: 195
inline val multianewarray: 197
inline val new_: 187
inline val newarray: 188
inline val nop: 0
inline val pop: 87
inline val pop2: 88
inline val putfield: 181
inline val putstatic: 179
inline val ret: 169
inline val return_: 177
inline val saload: 53
inline val sastore: 86
inline val sipush: 17
inline val swap: 95
inline val tableswitch: 170
inline val wide: 196
inline val xxxunusedxxxx: 186