80 RESOURCE_VARIABLE(0x41, true), |
80 RESOURCE_VARIABLE(0x41, true), |
81 |
81 |
82 /** For annotations on an exception parameter. */ |
82 /** For annotations on an exception parameter. */ |
83 EXCEPTION_PARAMETER(0x42, true), |
83 EXCEPTION_PARAMETER(0x42, true), |
84 |
84 |
85 /** For annotations on a typecast. */ |
|
86 CAST(0x43, true), |
|
87 |
|
88 /** For annotations on a type test. */ |
85 /** For annotations on a type test. */ |
89 INSTANCEOF(0x44, true), |
86 INSTANCEOF(0x43, true), |
90 |
87 |
91 /** For annotations on an object creation expression. */ |
88 /** For annotations on an object creation expression. */ |
92 NEW(0x45, true), |
89 NEW(0x44, true), |
|
90 |
|
91 /** For annotations on a constructor reference receiver. */ |
|
92 CONSTRUCTOR_REFERENCE(0x45, true), |
|
93 |
|
94 /** For annotations on a method reference receiver. */ |
|
95 METHOD_REFERENCE(0x46, true), |
|
96 |
|
97 /** For annotations on a typecast. */ |
|
98 CAST(0x47, true), |
93 |
99 |
94 /** For annotations on a type argument of an object creation expression. */ |
100 /** For annotations on a type argument of an object creation expression. */ |
95 CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT(0x46, true), |
101 CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT(0x48, true), |
96 |
102 |
97 /** For annotations on a type argument of a method call. */ |
103 /** For annotations on a type argument of a method call. */ |
98 METHOD_INVOCATION_TYPE_ARGUMENT(0x47, true), |
104 METHOD_INVOCATION_TYPE_ARGUMENT(0x49, true), |
99 |
105 |
100 /** For annotations on a lambda parameter type. */ |
106 /** For annotations on a type argument of a constructor reference. */ |
101 LAMBDA_FORMAL_PARAMETER(0x48, true), |
107 CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT(0x4A, true), |
102 |
|
103 /** For annotations on a method reference. */ |
|
104 METHOD_REFERENCE(0x49, true), |
|
105 |
108 |
106 /** For annotations on a type argument of a method reference. */ |
109 /** For annotations on a type argument of a method reference. */ |
107 METHOD_REFERENCE_TYPE_ARGUMENT(0x50, true), |
110 METHOD_REFERENCE_TYPE_ARGUMENT(0x4B, true), |
108 |
111 |
109 /** For annotations with an unknown target. */ |
112 /** For annotations with an unknown target. */ |
110 UNKNOWN(0xFF); |
113 UNKNOWN(0xFF); |
111 |
114 |
112 private static final int MAXIMUM_TARGET_TYPE_VALUE = 0x92; |
115 private static final int MAXIMUM_TARGET_TYPE_VALUE = 0x4B; |
113 |
116 |
114 private final int targetTypeValue; |
117 private final int targetTypeValue; |
115 private final boolean isLocal; |
118 private final boolean isLocal; |
116 |
119 |
117 private TargetType(int targetTypeValue) { |
120 private TargetType(int targetTypeValue) { |