The simplest aspect failed in
bcel5.2 Pass2Verifier.
package mypackage;
public aspect MyAspect {
pointcut executeMethod(): within(TestClass)
&& execution(* *(..));
before(): executeMethod() {
System.out.println("Enter
"+thisJoinPointStaticPart);
}
after(): executeMethod() {
System.out.println("Leave
"+thisJoinPointStaticPart);
}
}
class TestClass {
public static void main(String[] args) {
}
}
========================================================================================
JustIce by Enver Haase, (C) 2001-2002.
<http://bcel.sourceforge.net>
<http://jakarta.apache.org/bcel>
Now verifying: mypackage.TestClass
Pass 1:
VERIFIED_OK
Passed verification.
Pass 2:
VERIFIED_OK
Passed verification.
Pass 3a, method number 0 ['public void
<init>()']:
VERIFIED_OK
Passed verification.
Pass 3b, method number 0 ['public void
<init>()']:
VERIFIED_OK
Passed verification.
Pass 3a, method number 1 ['public static void main(String[] args)
[(Unknown attribute org.aspectj.weaver.MethodDeclarationLineNumber: 00 00
00 05 00 00 00 46)]']:
VERIFIED_REJECTED
Instruction
invokestatic[184](3) 28 constraint violated: Return type class/interface
could not be verified successfully: 'Number of LocalVariableTable
attributes of Code attribute '<CODE>' (method 'public static
mypackage.MyAspect aspectOf() [(Unknown attribute
org.aspectj.weaver.AjSynthetic)]') exceeds number of local variable slots
'0' ('There may be no more than one LocalVariableTable attribute per local
variable in the Code attribute.').'.
Pass 3b, method number 1 ['public static void main(String[] args)
[(Unknown attribute org.aspectj.weaver.MethodDeclarationLineNumber: 00 00
00 05 00 00 00 46)]']:
VERIFIED_NOTYET
Not yet verified.
Pass 3a, method number 2 ['static void
<clinit>()']:
VERIFIED_OK
Passed verification.
Pass 3b, method number 2 ['static void
<clinit>()']:
VERIFIED_OK
Passed verification.
Warnings:
Pass 2: Attribute '(Unknown attribute
org.aspectj.weaver.WeaverVersion: 00 03 00 00 00 00 00 00 00 00...
(truncated))' as an attribute of the ClassFile structure 'public class
mypackage.TestClass extends
java.lang.Object
filename mypackage.TestClass
compiled
from TestClass.java
compiler version 46.0
access
flags 33
constant pool 69 entries
ACC_SUPER
flag true
Attribute(s):
SourceFile(TestClass.java)
(Unknown
attribute org.aspectj.weaver.WeaverVersion: 00 03 00 00 00 00 00 00 00
00... (truncated))
(Unknown attribute
org.aspectj.weaver.WeaverState: 53 00 00 00 01 00 12 6d 79 70...
(truncated))
1 fields:
private static final
org.aspectj.lang.JoinPoint$StaticPart ajc$tjp_0
3 methods:
public void <init>()
public static
void main(String[] args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00 00
46)]
static void <clinit>()
' is unknown and will
therefore be ignored.
Pass 2: Attribute '(Unknown attribute
org.aspectj.weaver.WeaverState: 53 00 00 00 01 00 12 6d 79 70...
(truncated))' as an attribute of the ClassFile structure 'public class
mypackage.TestClass extends
java.lang.Object
filename mypackage.TestClass
compiled
from TestClass.java
compiler version 46.0
access
flags 33
constant pool 69 entries
ACC_SUPER
flag true
Attribute(s):
SourceFile(TestClass.java)
(Unknown
attribute org.aspectj.weaver.WeaverVersion: 00 03 00 00 00 00 00 00 00
00... (truncated))
(Unknown attribute
org.aspectj.weaver.WeaverState: 53 00 00 00 01 00 12 6d 79 70...
(truncated))
1 fields:
private static final
org.aspectj.lang.JoinPoint$StaticPart ajc$tjp_0
3 methods:
public void <init>()
public static
void main(String[] args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00 00
46)]
static void <clinit>()
' is unknown and will
therefore be ignored.
Pass 2: Attribute '<LocalVariableTable:
LocalVariable(start_pc = 0, length = 5, index = 0:mypackage.TestClass
this)>' as an attribute of Code attribute '<CODE>' (method 'public
void <init>()') will effectively be ignored and is only useful for
debuggers and such.
Pass 2: Attribute '<LineNumberTable:
LineNumber(0, 3)>' as an attribute of Code attribute '<CODE>'
(method 'public void <init>()') will effectively be ignored and is
only useful for debuggers and such.
Pass 2: Attribute '(Unknown
attribute org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00
00 46)' as an attribute of Method 'public static void main(String[] args)
[(Unknown attribute org.aspectj.weaver.MethodDeclarationLineNumber: 00 00
00 05 00 00 00 46)]' is unknown and will therefore be ignored.
Pass 2:
Attribute '(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00 00 46)'
as an attribute of Method 'public static void main(String[] args) [(Unknown
attribute org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00
00 46)]' is neither Code nor Exceptions and is therefore only of use for
debuggers and such.
Pass 2: Unknown attribute '(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00 00 46)'.
This attribute is not known in any context!
Pass 2: Attribute
'<LocalVariableTable: LocalVariable(start_pc = 9, length = 0, index =
0:String[] args)>' as an attribute of Code attribute '<CODE>'
(method 'public static void main(String[] args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00 00 46)]')
will effectively be ignored and is only useful for debuggers and
such.
Pass 2: Attribute '<LineNumberTable: LineNumber(9, 6)>' as
an attribute of Code attribute '<CODE>' (method 'public static void
main(String[] args) [(Unknown attribute
org.aspectj.weaver.MethodDeclarationLineNumber: 00 00 00 05 00 00 00 46)]')
will effectively be ignored and is only useful for debuggers and
such.
Pass 2: Class or interface initialization method 'static void
<clinit>()' has superfluous access modifier(s) set: everything but
ACC_STRICT is ignored.
Pass 2: Attribute '<LineNumberTable:
LineNumber(0, 1)>' as an attribute of Code attribute '<CODE>'
(method 'static void <clinit>()') will effectively be ignored and is
only useful for debuggers and such.
Pass 2: Unknown attribute '(Unknown
attribute org.aspectj.weaver.WeaverVersion: 00 03 00 00 00 00 00 00 00
00... (truncated))'. This attribute is not known in any context!
Pass 2:
Unknown attribute '(Unknown attribute org.aspectj.weaver.WeaverState: 53 00
00 00 01 00 12 6d 79 70... (truncated))'. This attribute is not known in
any context!