Open dankurka opened 9 years ago
I see how that could happen. We don't take annotations into account
in the computing of dependencies in
BytecodeSignatureMaker.CompileDependencyVisitor.
Reported by zundel@google.com
on 2011-08-02 19:43:41
Hm...I'm not sure if BytecodeSignatureMaker including annotations would fix the issue?
In my case, Foo's bytecode didn't change, so I don't think the hash including/not including
annotations affected anything.
It was only the presence of those annotations on ecj's classpath that changed.
(AFAIK, this type of change is typically detected by Dependencies.validate, where,
if the annotation had not been binary, it would have initially resolved as null, but
then resolved as non-null when the classpath was fixed, thereby triggering a recompilation
of Foo even though Foo's source and bytecode had not changed.)
Unless the BytecodeSignatureMaker hash conditionally included binary annotations based
on whether they were actually available on the classpath. If so, then the hash would
have changed, and Foo would have been recompiled.
Reported by stephen.haberman
on 2011-08-02 21:25:20
Reported by zundel@google.com
on 2011-10-11 00:53:09
PatchesWelcome
@Stephan not sure what to do with this, any hints?
Reported by dankurka@google.com
on 2013-05-28 01:11:02
Originally reported on Google Code with ID 6646
Reported by
zundel@google.com
on 2011-08-02 19:43:03