Kulla: API naming question JLS vs JVM class
Robert Field
robert.field at oracle.com
Sun Jun 21 02:19:15 UTC 2015
Keys for what is called a "class" in the JVM (that is a class, enum,
interface, or annotation interface in JLS speak) have Key.Kind.CLASS and
are instances of Key.ClassKey.
This is awkward both in terms of documenting them (I'm referencing the
JLS) and because the SubKind values are JLS-speak:
CLASS_SUBKIND(Key.Kind.CLASS),
INTERFACE_SUBKIND(Key.Kind.CLASS),
ENUM_SUBKIND(Key.Kind.CLASS),
ANNOTATION_TYPE_SUBKIND(Key.Kind.CLASS),
Looking at the JLS the syntax production is TypeDeclaration. So, I
think the Key.Kind should be changed to TYPE.
It could be changed to TYPE_DECLARATION but then we would want to also
change VARIABLE and METHOD to
VARIABLE_DECLARATION
METHOD_DECLARATION
Which would make use pretty verbose. Could be abbreviated, but the API
currently mostly shies away from abbreviations.
So, the choices are:
(1) TYPE TypeKey
(2) TYPE_DECLARATION TypeDeclarationKey
(3) TYPE_DECL TypeDeclKey
(4) CLASS ClassKey
What do you all think?
Thanks,
Robert
More information about the kulla-dev
mailing list