summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2005-09-13 16:43:04 +0000
committeraclement <aclement>2005-09-13 16:43:04 +0000
commit40f576dc2de1a0ceb7e3eb6857680c72b187e5ce (patch)
tree2573c1ac42c4a448ac293815a0580411221885cb
parentbc4c4ca13decc74d7361e6cea2de6b4eaa5c4e92 (diff)
downloadaspectj-40f576dc2de1a0ceb7e3eb6857680c72b187e5ce.tar.gz
aspectj-40f576dc2de1a0ceb7e3eb6857680c72b187e5ce.zip
To fix one of Matthews problems with FFDC binary compatibility (AJ5 chokes on a 1.2.1 library): made reading of a type pattern realise it shouldn't look for a varargs flag if processing a pre 1.5 pattern.
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java
index 1e065917b..718eee9a1 100644
--- a/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java
@@ -16,6 +16,7 @@ package org.aspectj.weaver.patterns;
import java.io.DataOutputStream;
import java.io.IOException;
+import org.aspectj.weaver.AjAttribute;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
import org.aspectj.weaver.UnresolvedType;
@@ -60,7 +61,13 @@ public class BindingTypePattern extends ExactTypePattern implements BindingPatte
}
public static TypePattern read(VersionedDataInputStream s, ISourceContext context) throws IOException {
- TypePattern ret = new BindingTypePattern(UnresolvedType.read(s), s.readShort(), s.readBoolean());
+ UnresolvedType type = UnresolvedType.read(s);
+ int index = s.readShort();
+ boolean isVarargs = false;
+ if (s.getMajorVersion()>=AjAttribute.WeaverVersionInfo.WEAVER_VERSION_MAJOR_AJ150) {
+ isVarargs = s.readBoolean();
+ }
+ TypePattern ret = new BindingTypePattern(type,index,isVarargs);
ret.readLocation(context, s);
return ret;
}