Feng Qian wrote:
For example, gnu/java/lang/CharData.class(or
java) in the glibj.zip has a couple of static string constant
definitions, but newly converted CharData.class has just static string
reference fields.
This is probably related to the bug we found a few days ago. Currently,
the ConstValue attribute of a static field was lost when a class is
converted to the soot internal representation. We had some discussion
before, but didnot decide a solution yet.
The old mail thread about the bug:
http://www.sable.mcgill.ca/listarchives/soot-list/msg01167.html
I'm trying to understand this bug but amn't :-) Maybe I'm getting confused
by the example given which has two classes.
Is this the same bug I described a long time ago in this thread?
http://www.sable.mcgill.ca/listarchives/soot-list/msg00495.html
Or is more than one class actually required to see this bug?
If it's the same bug (Soot dropping ConstantValue attributes), then it
seems to me like Ondrej's solution is the obvious and correct one, i.e.,
Don't Drop Them. It also seems like artificially inserting <clinit>
code would be dangerous.
Just my $0.02.
-Archie
__________________________________________________________________________
Archie Cobbs * CTO, Awarix * http://www.awarix.com