1 /* |
1 /* |
2 * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. Oracle designates this |
7 * published by the Free Software Foundation. Oracle designates this |
219 */ |
219 */ |
220 public static final long GENERATEDCONSTR = 1L<<36; |
220 public static final long GENERATEDCONSTR = 1L<<36; |
221 |
221 |
222 /** Flag that marks a hypothetical method that need not really be |
222 /** Flag that marks a hypothetical method that need not really be |
223 * generated in the binary, but is present in the symbol table to |
223 * generated in the binary, but is present in the symbol table to |
224 * simplify checking for erasure clashes. |
224 * simplify checking for erasure clashes - also used for 292 poly sig methods. |
225 */ |
225 */ |
226 public static final long HYPOTHETICAL = 1L<<37; |
226 public static final long HYPOTHETICAL = 1L<<37; |
227 |
227 |
228 /** |
228 /** |
229 * Flag that marks an internal proprietary class. |
229 * Flag that marks an internal proprietary class. |
232 |
232 |
233 /** |
233 /** |
234 * Flag that marks a a multi-catch parameter |
234 * Flag that marks a a multi-catch parameter |
235 */ |
235 */ |
236 public static final long UNION = 1L<<39; |
236 public static final long UNION = 1L<<39; |
237 |
|
238 /** |
|
239 * Flag that marks a signature-polymorphic invoke method. |
|
240 * (These occur inside java.lang.invoke.MethodHandle.) |
|
241 */ |
|
242 public static final long POLYMORPHIC_SIGNATURE = 1L<<40; |
|
243 |
237 |
244 /** |
238 /** |
245 * Flag that marks a special kind of bridge methods (the ones that |
239 * Flag that marks a special kind of bridge methods (the ones that |
246 * come from restricted supertype bounds) |
240 * come from restricted supertype bounds) |
247 */ |
241 */ |
248 public static final long OVERRIDE_BRIDGE = 1L<<41; |
242 public static final long OVERRIDE_BRIDGE = 1L<<40; |
249 |
243 |
250 /** |
244 /** |
251 * Flag that marks an 'effectively final' local variable |
245 * Flag that marks an 'effectively final' local variable |
252 */ |
246 */ |
253 public static final long EFFECTIVELY_FINAL = 1L<<42; |
247 public static final long EFFECTIVELY_FINAL = 1L<<41; |
254 |
248 |
255 /** |
249 /** |
256 * Flag that marks non-override equivalent methods with the same signature |
250 * Flag that marks non-override equivalent methods with the same signature |
257 */ |
251 */ |
258 public static final long CLASH = 1L<<43; |
252 public static final long CLASH = 1L<<42; |
259 |
253 |
260 /** Modifier masks. |
254 /** Modifier masks. |
261 */ |
255 */ |
262 public static final int |
256 public static final int |
263 AccessFlags = PUBLIC | PROTECTED | PRIVATE, |
257 AccessFlags = PUBLIC | PROTECTED | PRIVATE, |