Когда флаг модификатора доступа к байт-коду JVM 0x1000 (шестнадцатеричный) установлен «синтетическим»?

Для некоторого проекта парсера байтового кода Java я прочитал спецификацию JVM и выяснил, что значения битовой маски класса виртуальной машины Java Поля модификатора доступа к формату файла:

  ACC_PUBLIC = 0x0001
  ACC_FINAL = 0x0010
  ACC_SUPER = 0x0020 # old invokespecial instruction semantics (Java 1.0x?)
  ACC_INTERFACE = 0x0200
  ACC_ABSTRACT = 0x0400
  ACC_SYNTHETIC = 0x1000 
  ACC_ANNOTATION = 0x2000
  ACC_ENUM = 0x4000

Почему-то я понятия не имею, для чего нужен 0x1000 . Я видел это однажды во внутреннем классе, но для всех внутренних классов, которые я проверял с тех пор, этот флаг никогда не устанавливался. Теперь вы понимаете, что означает этот флаг и где / когда он установлен?

9
задан Peter Kofler 16 December 2011 в 11:35
поделиться