From 81e6b60e4eabeaf322651941c65f9f24a0ea80a9 Mon Sep 17 00:00:00 2001 From: acolyer Date: Wed, 23 Nov 2005 13:14:22 +0000 Subject: [PATCH] tests and fix for pr116254 --- .../internal/lang/reflect/DeclareSoftImpl.java | 5 +++-- .../aspectj/internal/lang/reflect/StringToType.java | 4 ++-- .../systemtest/ajc150/ataspectj/annotationgen.xml | 12 ++++++------ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareSoftImpl.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareSoftImpl.java index c980cdf8f..4c8ea4ead 100644 --- a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareSoftImpl.java +++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/DeclareSoftImpl.java @@ -28,11 +28,12 @@ public class DeclareSoftImpl implements DeclareSoft { private String missingTypeName; - public DeclareSoftImpl(AjType declaringType, String pcut, String exceptionTypeName) { + public DeclareSoftImpl(AjType declaringType, String pcut, String exceptionTypeName) { this.declaringType = declaringType; this.pointcut = new PointcutExpressionImpl(pcut); try { - this.exceptionType = AjTypeSystem.getAjType(Class.forName(exceptionTypeName)); + ClassLoader cl = declaringType.getJavaClass().getClassLoader(); + this.exceptionType = AjTypeSystem.getAjType(Class.forName(exceptionTypeName,false,cl)); } catch (ClassNotFoundException ex) { this.missingTypeName = exceptionTypeName; } diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/StringToType.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/StringToType.java index 7cf35ffb7..06201c559 100644 --- a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/StringToType.java +++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/StringToType.java @@ -40,7 +40,7 @@ public class StringToType { throws ClassNotFoundException { try { if (typeName.indexOf("<") == -1) { - return AjTypeSystem.getAjType(Class.forName(typeName)); + return AjTypeSystem.getAjType(Class.forName(typeName,false,classScope.getClassLoader())); } else { return makeParameterizedType(typeName,classScope); } @@ -60,7 +60,7 @@ public class StringToType { throws ClassNotFoundException { int paramStart = typeName.indexOf('<'); String baseName = typeName.substring(0, paramStart); - final Class baseClass = Class.forName(baseName); + final Class baseClass = Class.forName(baseName,false,classScope.getClassLoader()); int paramEnd = typeName.lastIndexOf('>'); String params = typeName.substring(paramStart+1,paramEnd); final Type[] typeParams = commaSeparatedListToTypeArray(params,classScope); diff --git a/tests/src/org/aspectj/systemtest/ajc150/ataspectj/annotationgen.xml b/tests/src/org/aspectj/systemtest/ajc150/ataspectj/annotationgen.xml index 1ece44117..d92762a5d 100644 --- a/tests/src/org/aspectj/systemtest/ajc150/ataspectj/annotationgen.xml +++ b/tests/src/org/aspectj/systemtest/ajc150/ataspectj/annotationgen.xml @@ -150,15 +150,15 @@ - + - + - + - + @@ -180,8 +180,8 @@ - + - + \ No newline at end of file -- 2.39.5