diff options
author | aclement <aclement> | 2008-08-28 01:49:18 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-08-28 01:49:18 +0000 |
commit | 6f319cdbcdfcd73967c506402cad169b8cd3e8ed (patch) | |
tree | ddbc85ff1639a486bb0948769d29dccad8b43300 /weaver | |
parent | 7c702e723ca33ca3b10609d8a17b8bf7a4e2ccc6 (diff) | |
download | aspectj-6f319cdbcdfcd73967c506402cad169b8cd3e8ed.tar.gz aspectj-6f319cdbcdfcd73967c506402cad169b8cd3e8ed.zip |
use new targeter set rather than array
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/Range.java | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/Range.java b/weaver/src/org/aspectj/weaver/bcel/Range.java index c6fd1aa3c..c0d46d8f0 100644 --- a/weaver/src/org/aspectj/weaver/bcel/Range.java +++ b/weaver/src/org/aspectj/weaver/bcel/Range.java @@ -13,6 +13,7 @@ package org.aspectj.weaver.bcel; +import java.util.Iterator; import java.util.Map; import org.aspectj.apache.bcel.generic.Instruction; @@ -196,17 +197,16 @@ abstract class Range implements InstructionTargeter { protected static final Range getRange(InstructionHandle ih) { // assert isRangeHandle(ih) Range ret = null; - InstructionTargeter[] targeters = ih.getTargeters(); - if (targeters!=null) { - for (int i = targeters.length - 1; i >= 0; i--) { - if (targeters[i] instanceof Range) { - Range r = (Range) targeters[i]; + Iterator tIter = ih.getTargeters().iterator(); + while (tIter.hasNext()) { + InstructionTargeter targeter = (InstructionTargeter)tIter.next(); + if (targeter instanceof Range) { + Range r = (Range) targeter; if (r.getStart() != ih && r.getEnd() != ih) continue; - if (ret != null) throw new BCException("multiple ranges on same range handle: " + ret + ", " + targeters[i]); - ret = (Range) targeters[i]; + if (ret != null) throw new BCException("multiple ranges on same range handle: " + ret + ", " + targeter); + ret = r; } } - } if (ret == null) { throw new BCException("shouldn't happen"); } |