RFR (L) 8037210: Get rid of char-based descriptions 'J' of basic types (original) (raw)
Remi Forax forax at univ-mlv.fr
Fri Mar 21 19🔞13 UTC 2014
- Previous message: RFR (L) 8037210: Get rid of char-based descriptions 'J' of basic types
- Next message: RFR (L) 8037210: Get rid of char-based descriptions 'J' of basic types
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 03/21/2014 07:54 PM, John Rose wrote:
On Mar 21, 2014, at 8:49 AM, Vladimir Ivanov <vladimir.x.ivanov at oracle.com <mailto:vladimir.x.ivanov at oracle.com>> wrote:
Thanks for the feedback.
What do you think about the following: http://cr.openjdk.java.net/~vlivanov/8037210/webrev.01/ <http://cr.openjdk.java.net/%7Evlivanov/8037210/webrev.01/> That looks nice. Strong typing; who woulda' thunk it. :-) The uses of ".ordinal()" are the extra cost relative to using just small integers. They seem totally reasonable in the code. I suggest either wrapping "ordinal" as something like "id" or else changing temp names like "id" to "ord", to reinforce the use of a common name. Don't make the enum class public. And especially don't make the mutable arrays public: + public static final BasicType[] ALLTYPES = { LTYPE, ITYPE, JTYPE, FTYPE, DTYPE, VTYPE }; + public static final BasicType[] ARGTYPES = { LTYPE, ITYPE, JTYPE, FTYPE, DTYPE }; — John P.S. That would only be safe if we had (what we don't yet) a notion of frozen arrays like: + public static final BasicType final[] ALLTYPES = { LTYPE, ITYPE, JTYPE, FTYPE, DTYPE, VTYPE }; + public static final BasicType final[] ARGTYPES = { LTYPE, ITYPE, JTYPE, FTYPE, DTYPE };
or public static final BasicType[] ARG_TYPES = { L_TYPE, I_TYPE, J_TYPE, F_TYPE, D_TYPE }.frozen();
because frozen() is a dynamic property.
Rémi
- Previous message: RFR (L) 8037210: Get rid of char-based descriptions 'J' of basic types
- Next message: RFR (L) 8037210: Get rid of char-based descriptions 'J' of basic types
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]