[Clirr-devel] [ clirr-Feature Requests-961222 ] Removing constants can be OK
Status: Alpha
Brought to you by:
lkuehne
From: SourceForge.net <no...@so...> - 2004-06-03 22:53:31
|
Feature Requests item #961222, was opened at 2004-05-26 23:48 Message generated for change (Comment added) made by scolebourne You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=961222&group_id=89627 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Stephen Colebourne (scolebourne) Assigned to: Lars Kühne (lkuehne) Summary: Removing constants can be OK Initial Comment: Clirr objects when a static final constant is removed from a class. However, this is permitted if the type of the constant is primitive or a String. See commons-collections 3.0-HEAD ReferenceMap ---------------------------------------------------------------------- >Comment By: Stephen Colebourne (scolebourne) Date: 2004-06-03 23:53 Message: Logged In: YES user_id=408725 The JLS says that primitive and String constants must be inlined at compile time (IIRC, always worth checking...) Object based constants are not inlined, so should cause the error in clirr if moved. Thus although ReferenceMap.HARD, .WEAK and .SOFT have been deleted, this causes no binary incompatibility (they are int constants). (The constants can be removed completely without binary incompatibility - in this case, they actually moved to a superclass) ---------------------------------------------------------------------- Comment By: Lars Kühne (lkuehne) Date: 2004-06-02 09:37 Message: Logged In: YES user_id=401384 You mean that compile time constants are inlined into the client code and removing them will not affect compiled clients? Which constant in ReferenceMap do you mean? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=961222&group_id=89627 |