This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
A couple things that can't possibly work - the copy constructor checks if the arguments field is null, and if so, does not copy the arguments from the string that is being copied. It will always be null - it should be checking the value from the passed JavaI18nString. protected String[] arguments; protected JavaI18nString(JavaI18nString copy) { super(copy); if (arguments == null) return; this.arguments = (String[]) copy.arguments.clone(); } Also, become does not actually override I18nString.become, because the argument type is different: public void become(JavaI18nString i18nString) { super.become(i18nString); JavaI18nString peer = (JavaI18nString) i18nString; this.setArguments(peer.arguments); }
Accepted.
I should probably get you my draft version of a major rewrite of this module, btw.
fixed the constructor bug /cvs/i18n/src/org/netbeans/modules/i18n/java/JavaI18nString.java,v <-- JavaI18nString.java new revision: 1.9; previous revision: 1.8 the error in become(...) will be fixed after 6.0 as it would be an api change attaching patch
Created attachment 48137 [details] patch
Why would a subclass overriding a public method in its parent class be an API change?
http://hg.netbeans.org/main/rev/40d6acf45fb5