From 62d16d52c25f7b5ff389ee2de603bbb3dc186c8e Mon Sep 17 00:00:00 2001 From: aclement Date: Wed, 2 Nov 2005 10:36:05 +0000 Subject: [PATCH] Matthews patch for 113510 --- .../loadtime/ClassLoaderWeavingAdaptor.java | 45 +++---------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java index 3d3df20dd..b160e4960 100644 --- a/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java +++ b/loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java @@ -283,11 +283,10 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor { ); } //generate key for SC - String aspectCode = readAspect(aspectClassName, loader); if(namespace==null){ - namespace=new StringBuffer(aspectCode); + namespace=new StringBuffer(aspectClassName); }else{ - namespace = namespace.append(";"+aspectCode); + namespace = namespace.append(";"+aspectClassName); } } } @@ -312,12 +311,12 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor { gen.getBytes() ); ResolvedType aspect = weaver.addLibraryAspect(concreteAspect.name); + //generate key for SC - String aspectCode = readAspect(concreteAspect.name, loader); if(namespace==null){ - namespace=new StringBuffer(aspectCode); + namespace=new StringBuffer(concreteAspect.name); }else{ - namespace = namespace.append(";"+aspectCode); + namespace = namespace.append(";"+concreteAspect.name); } } } @@ -537,38 +536,4 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor { generatedClasses = new HashMap(); } - - /** - * Read in an aspect from the disk and return its bytecode as a String - * @param name the name of the aspect to read in - * @return the bytecode representation of the aspect - */ - private String readAspect(String name, ClassLoader loader){ - if (true) return name+"@"+(loader==null?"0":Integer.toString(loader.hashCode())); - // FIXME AV - ?? can someone tell me why we read the whole bytecode - // especially one byte by one byte - // also it does some NPE sometime (see AtAjLTW "LTW Decp2") - InputStream is = null; - try { - String result = ""; - is = loader.getResourceAsStream(name.replace('.','/')+".class"); - int b = is.read(); - while(b!=-1){ - result = result + b; - b=is.read(); - } - is.close(); - return result; - } catch (IOException e) { - e.printStackTrace(); - return ""; - } catch (NullPointerException e) { - //probably tried to read in a "non aspect @missing@" aspect - System.err.println("ClassLoaderWeavingAdaptor.readAspect() name: "+name+" Exception: "+e); - return ""; - } finally { - try {is.close();} catch (Throwable t) {;} - } - } - } -- 2.39.5