User: rinkrank
Date: 02/04/09 16:44:58
Modified: src/xjavadoc AbstractExecutableMember.java
Log:
Fixed flyweight bug discovered by Grant Marblestone
Revision Changes Path
1.11 +12 -10 xjavadoc/src/xjavadoc/AbstractExecutableMember.java
Index: AbstractExecutableMember.java
===================================================================
RCS file: /cvsroot/xdoclet/xjavadoc/src/xjavadoc/AbstractExecutableMember.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -r1.10 -r1.11
--- AbstractExecutableMember.java 7 Apr 2002 01:05:55 -0000 1.10
+++ AbstractExecutableMember.java 9 Apr 2002 23:44:57 -0000 1.11
@@ -180,11 +180,11 @@
}
else {
parameters = new ParameterImpl[_parameterData.size() / 3];
- for (int i = parameters.length - 1; i >= 0; i--) {
- try {
- if (_parameterPool.length <= i) {
+ if (_parameterPool.length < parameters.length) {
// increase flyweight pool size
- ParameterImpl[] newPool = new
ParameterImpl[_parameterPool.length + PARAMETER_POOL_INCREMENT];
+ ParameterImpl[] newPool = new
ParameterImpl[parameters.length];
+ System.out.println("new pool :" + newPool.length);
+
System.arraycopy(_parameterPool, 0,
newPool, 0, _parameterPool.length);
for (int j = _parameterPool.length; j
< newPool.length; j++) {
newPool[j] = new
ParameterImpl();
@@ -192,6 +192,8 @@
_parameterPool = newPool;
}
+ for (int i = parameters.length - 1; i >= 0; i--) {
+ try {
_parameterPool[i].setState(this, i);
parameters[i] = _parameterPool[i];
} catch (ArrayIndexOutOfBoundsException e) {
_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel