From 40f576dc2de1a0ceb7e3eb6857680c72b187e5ce Mon Sep 17 00:00:00 2001 From: aclement Date: Tue, 13 Sep 2005 16:43:04 +0000 Subject: [PATCH] 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. --- .../org/aspectj/weaver/patterns/BindingTypePattern.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; } -- 2.39.5