From: hengels <nu...@jb...> - 2005-05-19 06:56:42
|
When trying to lookup "wilken$informationssystem$dimension$DerivativeFaktenBerechner$berechneFakten$aop", the MemberResolver iterates over the following methods and doesn't find it: [0] = "<init> ()V" | [1] = "berechneFakten ()Z" | [2] = "berechneFakten (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z" | [3] = "berechneFakten (Lwilken/informationssystem/dimension/Faktenspezifikation;)Z" | [4] = "finalizeProcess ()Z" | [5] = "finalizeProcessImmediate ()V" | [6] = "anlegeWertErmitllern (Lwilken/informationssystem/util/parser/faktenspezifikation/SimpleNode;)Z" | [7] = "anlegenDimensionsElemente ()Z" | [8] = "anlegeElemente (ILwilken/informationssystem/dimension/DimensionsRaumElement;)Z" | [9] = "leseElemente (I)Z" | [10] = "formelBerechnen (Lwilken/informationssystem/util/parser/faktenspezifikation/SimpleNode;)Ljava/math/BigDecimal;" | [11] = "ermittleWert (Ljava/lang/String;Ljava/lang/String;)Ljava/math/BigDecimal;" | [12] = "erfasseWert (Ljava/math/BigDecimal;)Z" | [13] = "prefeElementExistiertinDatenPool (Lwilken/informationssystem/hierarchie/ArbeitsHierarchieElement;)Z" | [14] = "<clinit> ()V" | [15] = "_getAdvisor ()Lorg/jboss/aop/Advisor;" | [16] = "_getInstanceAdvisor ()Lorg/jboss/aop/InstanceAdvisor;" | [17] = "_setInstanceAdvisor (Lorg/jboss/aop/InstanceAdvisor;)V" | [18] = "berechneFakten ()Z" Please note that index 1 and 18 have the same name and signature and there's really no method with the long name (original body). Thus the MemberResolver behaves correct. Afterwards, the MemberResolver recursively calls lookupMethod withe the superclass and so on. Finally it returns null and the caller (TypeChecker->atMethodCallCore) throws a CompileError. My suspicion is, that renaming the original method in MethodExecutionTransformer->optimized fails (method.setName(wrappedName);). And later, during compilation of the wrapper method, the compiler cannot find the original method with the long name, because it was not renamed correctly. Do you think, this is the possible reason? anonymous wrote : Does it always fall over at the same method? Does cleaning out all your classfiles between change the behaviour at all? How many classes are you weaving? If I run the aopc with the same preconditions (fresh classfiles, same include set), it fails always at the same method. Though this is not the only method. If I try to instrument different classes, the same error occures in other places, too. I'm weaving a small subset from more than 16000 classes, linked again heavy jars. Holger View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3878315#3878315 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3878315 |