]> source.dussan.org Git - aspectj.git/commit
389678: Better support for overweaving
authorAndy Clement <aclement@pivotal.io>
Mon, 21 Jan 2019 18:20:04 +0000 (10:20 -0800)
committerAndy Clement <aclement@pivotal.io>
Mon, 21 Jan 2019 18:20:04 +0000 (10:20 -0800)
commit8755f774ae286eefbe3826dab592f1a22d0f6b95
treecdfbe8acbd5530538d0d933230f4db7f09516e92
parentf6d0013eb2cddf9946ab07d0a4e129cc9c0869bb
389678: Better support for overweaving

More testcases for overweaving and better handling of WeaverStateInfo
to avoid the dreaded problems deserialized the 'special key' used
to store diffs.

With these changes once a class is woven via overweaving we switch
the diff we store in the weaverstateinfo to 0 byte array (indicating
overweaving happened for later weavers that see it). We also stop
writing the special 'key' into the attribute and avoid looking-for
and attempting to replace it at the end of weaving.
org.aspectj.matcher/src/org/aspectj/weaver/WeaverMessages.java
org.aspectj.matcher/src/org/aspectj/weaver/WeaverStateInfo.java
org.aspectj.matcher/src/org/aspectj/weaver/weaver-messages.properties
tests/src/org/aspectj/systemtest/ajc193/Ajc193Tests.java
tests/src/org/aspectj/systemtest/ajc193/ajc193.xml
weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java
weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java