Bug 103475

Summary: weaver introduces methods without LineNumberTable and/or LocalVariableTable attributes
Product: [Tools] AspectJ Reporter: Rafal Krzewski <rafal>
Component: CompilerAssignee: Adrian Colyer <adrian.colyer>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: 1.5.0 M3   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Rafal Krzewski CLA 2005-07-12 08:14:30 EDT
I am no classfile format expert, so I am not really sure if this is a policy
violation on the part of AspectJ. 
Anyway - test coverage measurment tool I am playing witht expects that all
methods have those attributes, and some AspectJ introduced methods do not.

I was able to work around this problem by adding a bunch of null checks, but I'm
submitting it as a bug - maybe fixing it on AspectJ side will pay off in the
long run by increasing tool interoperability.
Comment 1 Alexandre Vasseur CLA 2005-07-12 08:21:08 EDT
those are optional attribute, that are there when you compile with java -g
(debug on, same in Ant, maven etc).

Those are optional, and don't make sense for method that don't have source code
f.e. like aspectOf() methods for examples.

VM spec:
http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#22856
"The LineNumberTable attribute is an optional variable-length attribute in .."
"The LocalVariableTable attribute is an optional variable-length attribute of.."
Comment 2 Rafal Krzewski CLA 2005-07-12 08:36:12 EDT
Thanks for explaination.

I'll make sure it get's fixed on Coverlipse side.