Community
Participate
Working Groups
I20050426-1700 After discussions with JDT/UI, we came to conclusion that the following 3.1 APIs on BindingKey are not suitable; since they may cache element structural information into keys, leaving clients with difficult decisions as to whether to trust the key or the element. - BindingKey#getDeclaringTypeSignature() - BindingKey#toSignature() The only interest for having these APIs on the key is to cache some information avoiding populating the model, and is not mandated by the normal binding key contract, i.e. identify uniquely a type binding. Therefore, they should not be added . If such information was requested again, it should end up in a different spot. Something we could imagine post 3.1 is to precache this information directly into Java elements (pre/partially initialized element infos), and hiding the complexity to clients who could blindly trust the elements to reflect reality.
Erich (or Jeem), can you please approve the removal of the 2 APIs ? - BindingKey#getDeclaringTypeSignature() - BindingKey#toSignature()
API change approved I see there are references to toSignature() in jdt.ui Please coordinate jdt.core and jdt.ui release to HEAD today (i.e., skip the deprecate), in time for our first nightly integration build.
Thanks Jim. Removed BindingKey#getDeclaringTypeSignature(). Added BindingKey#internalToSignature() to be used by JDT Core. Temporary deprecated BindingKey#toSignature(). Dirk or Martin, please make the change asap so that I can remove toSignature() for tonight's build.
Talked to Jerome, and we have to remove the flags from the binding key first. Otherwise I can't compute keys again. Coordinated the release of this with Jerome for tomorrow.
Flags have been removed from binding keys in HEAD.
Jerome, I have adapted the JDT/UI code to it.
Thanks Dirk. Removed BindingKey#toSignature().
Verified for 3.1 M7 using build I20050509-2010 + jdt.core HEAD.