I did. https://github.com/apache/netbeans/pull/4081
I was advised to ask this question using mailing list On Mon, May 9, 2022, 3:03 PM Laszlo Kishalmi <[email protected]> wrote: > Hi Lukasz, > > Could you create a PR and discuss the code there? Of course a link to > the PR in the dev list is encouraged. > > This email format is not really suitable for such discussions especially > with 78 character wrapping... > > On 5/9/22 13:17, Łukasz Bownik wrote: > > Hello. > > > > I refactored the > /platform/openide.util/src/org/openide/util/MapFormat.jav > > < > https://github.com/apache/netbeans/blob/master/platform/openide.util/src/org/openide/util/MapFormat.jav > >a > > 's > > *public StringBuffer format(Object pat, StringBuffer result, > FieldPosition > > fpos) *method. > > The new version > > > https://github.com/apache/netbeans/pull/4081/commits/22b3fba85982184dba29350b274d1004a08766c5# > > is 2 times faster and generates about 50 times less garbage. > > All unit tests pass so (hopefully) no behavioral change has been > introduced > > (as far as tests can tell). > > > > The problem is that another method of this class > > *public String processPattern(String newPattern) throws > > IllegalArgumentException* > > becomes useless now. > > > > I think it should be removed. > > > > My reasoning is the following (based on original implementation) > > > > - "procesPattern" is never called by any client within code base; > > - calling "processPattern" by clients is useless because: > > - it mainly prepares internal state for execution of "format", which > > then gets overwritten anyway, since "format" calls "preparePattern" > > overwriting effects of previous execution, which makes calling > > "processPattern" by client a no-op; > > - "processPattern" returns the original pattern string with steering > > sequences stripped, so giving it "Hello {name}!" will return "Hello > !" - > > which seems useless for clients; > > > > So I suspect that the probability of any *external client *calling this > > method is 0. I suspect that this method intention was to be private but > it > > was made public by accident (it was probably made public temporarily for > > testing purposes during developement and then stayed like this). > > > > But.. If we want to keep this API structure unchanged then I could > provide > > a stubbed implementation like > > > > @deprecated <https://github.com/deprecated> > > public String processPattern(String newPattern) throws > > IllegalArgumentException { > > return newPattern; > > } > > > > would it be acceptable? > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > For further information about the NetBeans mailing lists, visit: > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > > > >
