From f821ca3dae5681758d23a2a0531d0d42f017152e Mon Sep 17 00:00:00 2001 From: aclement Date: Sat, 3 Jun 2006 08:27:06 +0000 Subject: [PATCH] test and fix for 145086 --- lib/aspectj/lib/aspectjrt.jar | Bin 114473 -> 114560 bytes lib/test/aspectjrt.jar | Bin 114473 -> 114560 bytes .../runtime/reflect/SignatureImpl.java | 36 ++++++++++++------ .../runtime/reflect/JoinPointImplTest.java | 2 - .../runtime/reflect/SignatureTest.java | 23 +++++++++++ 5 files changed, 47 insertions(+), 14 deletions(-) diff --git a/lib/aspectj/lib/aspectjrt.jar b/lib/aspectj/lib/aspectjrt.jar index 01aac118057ae5d3cb9afd17687d4b00f4f5230f..80d738327b12671f71aa5ea5672371e0b801d6d8 100644 GIT binary patch delta 7207 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 GBKSYXJYPfr diff --git a/lib/test/aspectjrt.jar b/lib/test/aspectjrt.jar index 01aac118057ae5d3cb9afd17687d4b00f4f5230f..80d738327b12671f71aa5ea5672371e0b801d6d8 100644 GIT binary patch delta 7207 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 GBKSYXJYPfr diff --git a/runtime/src/org/aspectj/runtime/reflect/SignatureImpl.java b/runtime/src/org/aspectj/runtime/reflect/SignatureImpl.java index 68473c218..68079b444 100644 --- a/runtime/src/org/aspectj/runtime/reflect/SignatureImpl.java +++ b/runtime/src/org/aspectj/runtime/reflect/SignatureImpl.java @@ -206,26 +206,38 @@ abstract class SignatureImpl implements Signature { } // separate implementation so we don't need SoftReference to hold the field... - private static final class CacheImpl implements Cache { + private static final class CacheImpl implements Cache { private java.lang.ref.SoftReference toStringCacheRef; - public CacheImpl() { - toStringCacheRef = new java.lang.ref.SoftReference(new String[3]); + + public CacheImpl() { + makeCache(); } - + public String get(int cacheOffset) { - String[] cachedArray = array(); - if (cachedArray == null) { - return null; - } - return cachedArray[cacheOffset]; + String[] cachedArray = array(); + if (cachedArray == null) { + return null; + } + return cachedArray[cacheOffset]; } public void set(int cacheOffset, String result) { - array()[cacheOffset] = result; + String[] cachedArray = array(); + if (cachedArray == null) { + cachedArray = makeCache(); + } + cachedArray[cacheOffset] = result; } - + private String[] array() { - return (String[])toStringCacheRef.get(); + return (String[]) toStringCacheRef.get(); } + + private String[] makeCache() { + String[] array = new String[3]; + toStringCacheRef = new java.lang.ref.SoftReference(array); + return array; + } + } } diff --git a/runtime/testsrc/org/aspectj/runtime/reflect/JoinPointImplTest.java b/runtime/testsrc/org/aspectj/runtime/reflect/JoinPointImplTest.java index 98a5a2374..2a17ad998 100644 --- a/runtime/testsrc/org/aspectj/runtime/reflect/JoinPointImplTest.java +++ b/runtime/testsrc/org/aspectj/runtime/reflect/JoinPointImplTest.java @@ -15,8 +15,6 @@ import junit.framework.TestCase; /** * @author colyer * - * TODO To change the template for this generated type comment go to - * Window - Preferences - Java - Code Style - Code Templates */ public class JoinPointImplTest extends TestCase { diff --git a/runtime/testsrc/org/aspectj/runtime/reflect/SignatureTest.java b/runtime/testsrc/org/aspectj/runtime/reflect/SignatureTest.java index 6cb43f7e0..7a66a5b39 100644 --- a/runtime/testsrc/org/aspectj/runtime/reflect/SignatureTest.java +++ b/runtime/testsrc/org/aspectj/runtime/reflect/SignatureTest.java @@ -10,6 +10,9 @@ *******************************************************************************/ package org.aspectj.runtime.reflect; +import java.lang.ref.Reference; +import java.lang.reflect.Field; + import junit.framework.TestCase; /** @@ -31,4 +34,24 @@ public class SignatureTest extends TestCase { assertSame(longString,msi.toLongString()); // should be cached. assertTrue("String representations should be different",!(shortString.equals(middleString) || middleString.equals(longString) || longString.equals(shortString))); } + + public void testClearCache() throws Exception { + MethodSignatureImpl msi = new MethodSignatureImpl(0,"test",SignatureTest.class,new Class[] { String.class, Integer.TYPE }, new String[] { "s", "i" }, new Class[] {}, Runnable.class); + String shortString = msi.toShortString(); + assertSame(shortString,msi.toShortString()); + + Field field = SignatureImpl.class.getDeclaredField("stringCache"); + field.setAccessible(true); + Object res = field.get(msi); + + field = res.getClass().getDeclaredField("toStringCacheRef"); + field.setAccessible(true); + Reference ref = (Reference)field.get(res); + + ref.clear(); + assertEquals(shortString,msi.toShortString()); + + String longString = msi.toLongString(); + assertSame(longString,msi.toLongString()); // should be cached. + } } -- 2.39.5