diff options
author | aclement <aclement> | 2005-10-07 10:16:52 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-10-07 10:16:52 +0000 |
commit | 71aa3b1f58a3849579ef3a8d990b600e5595ac2c (patch) | |
tree | 3833323f33cb732520f92a2dec180a9e5eabc98f | |
parent | d7625fa4436befbbae170aec577cccc344705b91 (diff) | |
download | aspectj-71aa3b1f58a3849579ef3a8d990b600e5595ac2c.tar.gz aspectj-71aa3b1f58a3849579ef3a8d990b600e5595ac2c.zip |
change to resolvedmember serialization (to support varargs ITDs) is quite serious - major version number of attribute rev'd to 4 in this case.
39 files changed, 31 insertions, 4 deletions
diff --git a/ajde/testdata/DuplicateManifestTest/aspectjar.jar b/ajde/testdata/DuplicateManifestTest/aspectjar.jar Binary files differindex 14a7d97a6..1d1a17999 100644 --- a/ajde/testdata/DuplicateManifestTest/aspectjar.jar +++ b/ajde/testdata/DuplicateManifestTest/aspectjar.jar diff --git a/ajde/testdata/DuplicateManifestTest/injar.jar b/ajde/testdata/DuplicateManifestTest/injar.jar Binary files differindex 89ed4b7f3..5acb18fbf 100644 --- a/ajde/testdata/DuplicateManifestTest/injar.jar +++ b/ajde/testdata/DuplicateManifestTest/injar.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice.jar Binary files differindex adcc0083c..5b1c79f28 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice_nodebug.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice_nodebug.jar Binary files differindex adcc0083c..5b1c79f28 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice_nodebug.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectAdvice_nodebug.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare.jar Binary files differindex 67a5d1144..20a53db64 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft.jar Binary files differindex a7622506b..239347f8c 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft_nodebug.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft_nodebug.jar Binary files differindex a3af82470..239347f8c 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft_nodebug.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclareSoft_nodebug.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare_nodebug.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare_nodebug.jar Binary files differindex ac5b17062..45bc72b70 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare_nodebug.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectDeclare_nodebug.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectITD.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectITD.jar Binary files differindex 842ad5ba5..fb54fede9 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectITD.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectITD.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/AspectITD_nodebug.jar b/ajde/testdata/WeaveInfoMessagesTest/AspectITD_nodebug.jar Binary files differindex 842ad5ba5..fb54fede9 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/AspectITD_nodebug.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/AspectITD_nodebug.jar diff --git a/ajde/testdata/WeaveInfoMessagesTest/Simple.jar b/ajde/testdata/WeaveInfoMessagesTest/Simple.jar Binary files differindex 192cf1888..42490e2ee 100644 --- a/ajde/testdata/WeaveInfoMessagesTest/Simple.jar +++ b/ajde/testdata/WeaveInfoMessagesTest/Simple.jar diff --git a/org.aspectj.ajdt.core/testdata/OutjarTest/aspects.jar b/org.aspectj.ajdt.core/testdata/OutjarTest/aspects.jar Binary files differindex 8a252d19b..630447de1 100644 --- a/org.aspectj.ajdt.core/testdata/OutjarTest/aspects.jar +++ b/org.aspectj.ajdt.core/testdata/OutjarTest/aspects.jar diff --git a/org.aspectj.ajdt.core/testdata/OutjarTest/child.jar b/org.aspectj.ajdt.core/testdata/OutjarTest/child.jar Binary files differindex 634616fd8..c68c6ee97 100644 --- a/org.aspectj.ajdt.core/testdata/OutjarTest/child.jar +++ b/org.aspectj.ajdt.core/testdata/OutjarTest/child.jar diff --git a/org.aspectj.ajdt.core/testdata/OutjarTest/parent.jar b/org.aspectj.ajdt.core/testdata/OutjarTest/parent.jar Binary files differindex 5c9aa4239..d2dc56815 100644 --- a/org.aspectj.ajdt.core/testdata/OutjarTest/parent.jar +++ b/org.aspectj.ajdt.core/testdata/OutjarTest/parent.jar diff --git a/org.aspectj.ajdt.core/testsrc/org/aspectj/ajdt/internal/compiler/batch/BcweaverJarMaker.java b/org.aspectj.ajdt.core/testsrc/org/aspectj/ajdt/internal/compiler/batch/BcweaverJarMaker.java index e7a30d581..cdf3c21cf 100644 --- a/org.aspectj.ajdt.core/testsrc/org/aspectj/ajdt/internal/compiler/batch/BcweaverJarMaker.java +++ b/org.aspectj.ajdt.core/testsrc/org/aspectj/ajdt/internal/compiler/batch/BcweaverJarMaker.java @@ -217,6 +217,7 @@ public class BcweaverJarMaker { args.add("-classpath"); args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" + File.pathSeparator + System.getProperty("aspectjrt.path")); + args.add("-XnotReweavable"); args.add("-outjar"); args.add("../weaver/testdata/ltw-woven.jar"); args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWHelloWorld.java"); diff --git a/tests/bugs/StringToString/helloworld.jar b/tests/bugs/StringToString/helloworld.jar Binary files differindex 0919c86f5..3bc842f8e 100644 --- a/tests/bugs/StringToString/helloworld.jar +++ b/tests/bugs/StringToString/helloworld.jar diff --git a/tests/bugs/cflowAndJar/lib.jar b/tests/bugs/cflowAndJar/lib.jar Binary files differindex a16714ac1..2c4318164 100644 --- a/tests/bugs/cflowAndJar/lib.jar +++ b/tests/bugs/cflowAndJar/lib.jar diff --git a/tests/bugs/perCflowAndJar/lib.jar b/tests/bugs/perCflowAndJar/lib.jar Binary files differindex 1c76679d6..b8baf948e 100644 --- a/tests/bugs/perCflowAndJar/lib.jar +++ b/tests/bugs/perCflowAndJar/lib.jar diff --git a/tests/bugs/serialVersionUID/injar.jar b/tests/bugs/serialVersionUID/injar.jar Binary files differindex 3529dbbc1..431dd1cbe 100644 --- a/tests/bugs/serialVersionUID/injar.jar +++ b/tests/bugs/serialVersionUID/injar.jar diff --git a/tests/new/options11/aspectlib1.jar b/tests/new/options11/aspectlib1.jar Binary files differindex 532e4e55e..c79c95197 100644 --- a/tests/new/options11/aspectlib1.jar +++ b/tests/new/options11/aspectlib1.jar diff --git a/tests/new/options11/aspectlib2.jar b/tests/new/options11/aspectlib2.jar Binary files differindex 7faa76526..90ea2ccbe 100644 --- a/tests/new/options11/aspectlib2.jar +++ b/tests/new/options11/aspectlib2.jar diff --git a/tests/new/options11/injar.jar b/tests/new/options11/injar.jar Binary files differindex 54ae92075..bcbf51b54 100644 --- a/tests/new/options11/injar.jar +++ b/tests/new/options11/injar.jar diff --git a/weaver/src/org/aspectj/weaver/AjAttribute.java b/weaver/src/org/aspectj/weaver/AjAttribute.java index 30afb8c64..e3a4c2457 100644 --- a/weaver/src/org/aspectj/weaver/AjAttribute.java +++ b/weaver/src/org/aspectj/weaver/AjAttribute.java @@ -16,10 +16,12 @@ package org.aspectj.weaver; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; +import java.io.EOFException; import java.io.IOException; import org.aspectj.bridge.IMessageHandler; import org.aspectj.bridge.MessageUtil; +import org.aspectj.bridge.Version; import org.aspectj.util.FileUtil; import org.aspectj.weaver.patterns.Declare; import org.aspectj.weaver.patterns.PerClause; @@ -206,11 +208,12 @@ public abstract class AjAttribute { public static short WEAVER_VERSION_MINOR_AJ121 = 0; // These are the weaver major/minor numbers for AspectJ 1.5.0 + public static short WEAVER_VERSION_MAJOR_AJ150M4 = 3; public static short WEAVER_VERSION_MAJOR_AJ150 = 2; public static short WEAVER_VERSION_MINOR_AJ150 = 0; // These are the weaver major/minor versions for *this* weaver - private static short CURRENT_VERSION_MAJOR = WEAVER_VERSION_MAJOR_AJ150; + private static short CURRENT_VERSION_MAJOR = WEAVER_VERSION_MAJOR_AJ150M4; private static short CURRENT_VERSION_MINOR = WEAVER_VERSION_MINOR_AJ150; public static final WeaverVersionInfo UNKNOWN = @@ -220,6 +223,8 @@ public abstract class AjAttribute { private short major_version; private short minor_version; + private long buildstamp = Version.NOTIME; + public String getNameString() { return AttributeName; } @@ -238,13 +243,22 @@ public abstract class AjAttribute { public void write(DataOutputStream s) throws IOException { s.writeShort(CURRENT_VERSION_MAJOR); s.writeShort(CURRENT_VERSION_MINOR); + s.writeLong(Version.time); // build used to construct the class... } public static WeaverVersionInfo read(VersionedDataInputStream s) throws IOException { short major = s.readShort(); short minor = s.readShort(); WeaverVersionInfo wvi = new WeaverVersionInfo(major,minor); -// s.setVersion(wvi); + if (s.getMajorVersion()>=WEAVER_VERSION_MAJOR_AJ150M4) { + long stamp = 0; + try { + stamp = s.readLong(); + wvi.setBuildstamp(stamp); + } catch (EOFException eof) { + // didnt find that build stamp - its not the end of the world + } + } return wvi; } @@ -264,6 +278,15 @@ public abstract class AjAttribute { return CURRENT_VERSION_MINOR; } + + public void setBuildstamp(long stamp) { + this.buildstamp = stamp; + } + + public long getBuildstamp() { + return buildstamp; + } + public String toString() { return major_version+"."+minor_version; } diff --git a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java index ff01be4b0..23a2e57c4 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java +++ b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java @@ -378,8 +378,10 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno if (s.getMajorVersion()>=AjAttribute.WeaverVersionInfo.WEAVER_VERSION_MAJOR_AJ150) { - boolean isvarargs = s.readBoolean(); - if (isvarargs) m.setVarargsMethod(); + if (s.getMajorVersion()>=AjAttribute.WeaverVersionInfo.WEAVER_VERSION_MAJOR_AJ150M4) { + boolean isvarargs = s.readBoolean(); + if (isvarargs) m.setVarargsMethod(); + } int tvcount = s.readInt(); if (tvcount!=0) { diff --git a/weaver/src/org/aspectj/weaver/VersionedDataInputStream.java b/weaver/src/org/aspectj/weaver/VersionedDataInputStream.java index a9f239692..cdc357226 100644 --- a/weaver/src/org/aspectj/weaver/VersionedDataInputStream.java +++ b/weaver/src/org/aspectj/weaver/VersionedDataInputStream.java @@ -26,6 +26,7 @@ public class VersionedDataInputStream extends DataInputStream { public int getMajorVersion() { return version.getMajorVersion(); } public int getMinorVersion() { return version.getMinorVersion(); } + public long getBuildstamp() { return version.getBuildstamp(); } public void setVersion(WeaverVersionInfo version) { this.version = version; } }
\ No newline at end of file diff --git a/weaver/testdata/dummyAspect.jar b/weaver/testdata/dummyAspect.jar Binary files differindex 00039691d..22dccf292 100644 --- a/weaver/testdata/dummyAspect.jar +++ b/weaver/testdata/dummyAspect.jar diff --git a/weaver/testdata/ltw-acaspects.jar b/weaver/testdata/ltw-acaspects.jar Binary files differindex 0bbc4d447..d637f7e9e 100644 --- a/weaver/testdata/ltw-acaspects.jar +++ b/weaver/testdata/ltw-acaspects.jar diff --git a/weaver/testdata/ltw-aspects.jar b/weaver/testdata/ltw-aspects.jar Binary files differindex 2ff17dd5b..5a6a924a0 100644 --- a/weaver/testdata/ltw-aspects.jar +++ b/weaver/testdata/ltw-aspects.jar diff --git a/weaver/testdata/ltw-classes.jar b/weaver/testdata/ltw-classes.jar Binary files differindex 593b4f11b..de87ac21f 100644 --- a/weaver/testdata/ltw-classes.jar +++ b/weaver/testdata/ltw-classes.jar diff --git a/weaver/testdata/ltw-deaspects.jar b/weaver/testdata/ltw-deaspects.jar Binary files differindex f7bbd02d0..39e0903ce 100644 --- a/weaver/testdata/ltw-deaspects.jar +++ b/weaver/testdata/ltw-deaspects.jar diff --git a/weaver/testdata/ltw-dwaspects.jar b/weaver/testdata/ltw-dwaspects.jar Binary files differindex fda2b9d2e..278379033 100644 --- a/weaver/testdata/ltw-dwaspects.jar +++ b/weaver/testdata/ltw-dwaspects.jar diff --git a/weaver/testdata/ltw-itdaspects.jar b/weaver/testdata/ltw-itdaspects.jar Binary files differindex 002847bb3..ac8abfcf6 100644 --- a/weaver/testdata/ltw-itdaspects.jar +++ b/weaver/testdata/ltw-itdaspects.jar diff --git a/weaver/testdata/ltw-peraspects.jar b/weaver/testdata/ltw-peraspects.jar Binary files differindex 674c960d9..3214321fb 100644 --- a/weaver/testdata/ltw-peraspects.jar +++ b/weaver/testdata/ltw-peraspects.jar diff --git a/weaver/testdata/ltw-woven.jar b/weaver/testdata/ltw-woven.jar Binary files differindex a1eb2b387..15cb0ec85 100644 --- a/weaver/testdata/ltw-woven.jar +++ b/weaver/testdata/ltw-woven.jar diff --git a/weaver/testdata/megatrace.jar b/weaver/testdata/megatrace.jar Binary files differindex 7818308b0..ea05f8ab5 100644 --- a/weaver/testdata/megatrace.jar +++ b/weaver/testdata/megatrace.jar diff --git a/weaver/testdata/megatrace0easy.jar b/weaver/testdata/megatrace0easy.jar Binary files differindex 2a2d311f2..68085fae7 100644 --- a/weaver/testdata/megatrace0easy.jar +++ b/weaver/testdata/megatrace0easy.jar diff --git a/weaver/testdata/megatrace0hard.jar b/weaver/testdata/megatrace0hard.jar Binary files differindex 5aaa3fb6f..08b449bba 100644 --- a/weaver/testdata/megatrace0hard.jar +++ b/weaver/testdata/megatrace0hard.jar diff --git a/weaver/testdata/megatraceNoweave.jar b/weaver/testdata/megatraceNoweave.jar Binary files differindex 0ffa3c931..e0e5a5e87 100644 --- a/weaver/testdata/megatraceNoweave.jar +++ b/weaver/testdata/megatraceNoweave.jar diff --git a/weaver/testdata/tracing.jar b/weaver/testdata/tracing.jar Binary files differindex ab39a6dae..46aeb0b70 100644 --- a/weaver/testdata/tracing.jar +++ b/weaver/testdata/tracing.jar |