aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Clement <aclement@gopivotal.com>2014-10-08 09:07:52 -0700
committerAndy Clement <aclement@gopivotal.com>2014-10-08 09:07:52 -0700
commitb6aec92d1ec73033130ecbb5552bf54ceb1cb85f (patch)
treecec50f9ea51317f76f132c01233c8446c58c046a
parent170b1cef3f6f2c4792eb4c07c76ab19bee9daca7 (diff)
downloadaspectj-b6aec92d1ec73033130ecbb5552bf54ceb1cb85f.tar.gz
aspectj-b6aec92d1ec73033130ecbb5552bf54ceb1cb85f.zip
Use generics
-rw-r--r--bcel-builder/src/org/aspectj/apache/bcel/ExceptionConstants.java5
-rw-r--r--bcel-builder/src/org/aspectj/apache/bcel/generic/Type.java4
-rw-r--r--lib/bcel/bcel-src.zipbin326849 -> 326880 bytes
-rw-r--r--lib/bcel/bcel-verifier.jarbin161556 -> 161556 bytes
-rw-r--r--lib/bcel/bcel.jarbin287677 -> 287004 bytes
-rw-r--r--loadtime/src/org/aspectj/weaver/loadtime/Aj.java15
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/AndAnnotationTypePattern.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPatternList.java12
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPointcut.java12
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationTypePattern.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java25
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsPointcut.java16
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/BindingTypePattern.java2
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/CflowPointcut.java5
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java13
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/NameBindingPointcut.java4
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/NotAnnotationTypePattern.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/OrAnnotationTypePattern.java9
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerCflow.java2
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerFromSuper.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerObject.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerSingleton.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerTypeWithin.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java14
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java26
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThrowsPattern.java2
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypeCategoryTypePattern.java3
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternList.java4
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternQuestions.java9
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java29
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java29
-rw-r--r--taskdefs/.isJava51
-rw-r--r--taskdefs/src/org/aspectj/tools/ant/taskdefs/Ajdoc.java79
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java7
36 files changed, 140 insertions, 214 deletions
diff --git a/bcel-builder/src/org/aspectj/apache/bcel/ExceptionConstants.java b/bcel-builder/src/org/aspectj/apache/bcel/ExceptionConstants.java
index 0c918c8ea..cf3d81308 100644
--- a/bcel-builder/src/org/aspectj/apache/bcel/ExceptionConstants.java
+++ b/bcel-builder/src/org/aspectj/apache/bcel/ExceptionConstants.java
@@ -60,6 +60,7 @@ package org.aspectj.apache.bcel;
* @version $Id: ExceptionConstants.java,v 1.5 2009/09/14 20:29:10 aclement Exp $
* @author <A HREF="http://www.inf.fu-berlin.de/~ehaase">E. Haase</A>
*/
+@SuppressWarnings("rawtypes")
public interface ExceptionConstants {
/**
* The mother of all exceptions
@@ -84,7 +85,7 @@ public interface ExceptionConstants {
public static final Class<ExceptionInInitializerError> EXCEPTION_IN_INITIALIZER_ERROR = ExceptionInInitializerError.class;
public static final Class<IncompatibleClassChangeError> INCOMPATIBLE_CLASS_CHANGE_ERROR = IncompatibleClassChangeError.class;
public static final Class<AbstractMethodError> ABSTRACT_METHOD_ERROR = AbstractMethodError.class;
- public static final Class ILLEGAL_ACCESS_ERROR = IllegalAccessError.class;
+ public static final Class<IllegalAccessError> ILLEGAL_ACCESS_ERROR = IllegalAccessError.class;
public static final Class<InstantiationError> INSTANTIATION_ERROR = InstantiationError.class;
public static final Class<NoSuchFieldError> NO_SUCH_FIELD_ERROR = NoSuchFieldError.class;
public static final Class<NoSuchMethodError> NO_SUCH_METHOD_ERROR = NoSuchMethodError.class;
@@ -100,7 +101,7 @@ public interface ExceptionConstants {
public static final Class<NullPointerException> NULL_POINTER_EXCEPTION = NullPointerException.class;
public static final Class<ArrayIndexOutOfBoundsException> ARRAY_INDEX_OUT_OF_BOUNDS_EXCEPTION = ArrayIndexOutOfBoundsException.class;
public static final Class<ArithmeticException> ARITHMETIC_EXCEPTION = ArithmeticException.class;
- public static final Class NEGATIVE_ARRAY_SIZE_EXCEPTION = NegativeArraySizeException.class;
+ public static final Class<NegativeArraySizeException> NEGATIVE_ARRAY_SIZE_EXCEPTION = NegativeArraySizeException.class;
public static final Class<ClassCastException> CLASS_CAST_EXCEPTION = ClassCastException.class;
public static final Class<IllegalMonitorStateException> ILLEGAL_MONITOR_STATE = IllegalMonitorStateException.class;
diff --git a/bcel-builder/src/org/aspectj/apache/bcel/generic/Type.java b/bcel-builder/src/org/aspectj/apache/bcel/generic/Type.java
index 7662250db..36d6d7d72 100644
--- a/bcel-builder/src/org/aspectj/apache/bcel/generic/Type.java
+++ b/bcel-builder/src/org/aspectj/apache/bcel/generic/Type.java
@@ -473,9 +473,9 @@ public abstract class Type {
return sb.toString();
}
- public static String getSignature(java.lang.reflect.Constructor cons) {
+ public static String getSignature(java.lang.reflect.Constructor<?> cons) {
StringBuffer sb = new StringBuffer("(");
- Class[] params = cons.getParameterTypes(); // avoid clone
+ Class<?>[] params = cons.getParameterTypes(); // avoid clone
for (int j = 0; j < params.length; j++) {
sb.append(getType(params[j]).getSignature());
diff --git a/lib/bcel/bcel-src.zip b/lib/bcel/bcel-src.zip
index 2d0a3b5f3..14f9c2f0a 100644
--- a/lib/bcel/bcel-src.zip
+++ b/lib/bcel/bcel-src.zip
Binary files differ
diff --git a/lib/bcel/bcel-verifier.jar b/lib/bcel/bcel-verifier.jar
index 46a5a0c44..ffeb0791f 100644
--- a/lib/bcel/bcel-verifier.jar
+++ b/lib/bcel/bcel-verifier.jar
Binary files differ
diff --git a/lib/bcel/bcel.jar b/lib/bcel/bcel.jar
index 097532e75..9b0bce336 100644
--- a/lib/bcel/bcel.jar
+++ b/lib/bcel/bcel.jar
Binary files differ
diff --git a/loadtime/src/org/aspectj/weaver/loadtime/Aj.java b/loadtime/src/org/aspectj/weaver/loadtime/Aj.java
index 03715b6a3..0654e4cba 100644
--- a/loadtime/src/org/aspectj/weaver/loadtime/Aj.java
+++ b/loadtime/src/org/aspectj/weaver/loadtime/Aj.java
@@ -200,9 +200,9 @@ public class Aj implements ClassPreProcessor {
synchronized (WeaverContainer.weavingAdaptors) {
if (displayProgress) {
System.err.println("Weaver adaptors before queue processing:");
- Map m = WeaverContainer.weavingAdaptors;
- Set keys = m.keySet();
- for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
+ Map<AdaptorKey,ExplicitlyInitializedClassLoaderWeavingAdaptor> m = WeaverContainer.weavingAdaptors;
+ Set<AdaptorKey> keys = m.keySet();
+ for (Iterator<AdaptorKey> iterator = keys.iterator(); iterator.hasNext();) {
Object object = iterator.next();
System.err.println(object + " = " + WeaverContainer.weavingAdaptors.get(object));
}
@@ -224,9 +224,9 @@ public class Aj implements ClassPreProcessor {
}
if (displayProgress) {
System.err.println("Weaver adaptors after queue processing:");
- Map m = WeaverContainer.weavingAdaptors;
- Set keys = m.keySet();
- for (Iterator iterator = keys.iterator(); iterator.hasNext();) {
+ Map<AdaptorKey,ExplicitlyInitializedClassLoaderWeavingAdaptor> m = WeaverContainer.weavingAdaptors;
+ Set<AdaptorKey> keys = m.keySet();
+ for (Iterator<AdaptorKey> iterator = keys.iterator(); iterator.hasNext();) {
Object object = iterator.next();
System.err.println(object + " = " + WeaverContainer.weavingAdaptors.get(object));
}
@@ -287,7 +287,8 @@ public class Aj implements ClassPreProcessor {
*/
static class WeaverContainer {
- final static Map weavingAdaptors = Collections.synchronizedMap(new HashMap());
+ final static Map<AdaptorKey,ExplicitlyInitializedClassLoaderWeavingAdaptor> weavingAdaptors =
+ Collections.synchronizedMap(new HashMap<AdaptorKey,ExplicitlyInitializedClassLoaderWeavingAdaptor>());
static WeavingAdaptor getWeaver(ClassLoader loader, IWeavingContext weavingContext) {
ExplicitlyInitializedClassLoaderWeavingAdaptor adaptor = null;
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AndAnnotationTypePattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AndAnnotationTypePattern.java
index 4889d0f9a..c14f36025 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AndAnnotationTypePattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AndAnnotationTypePattern.java
@@ -17,6 +17,7 @@ import org.aspectj.weaver.AnnotatedElement;
import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
import org.aspectj.weaver.AjAttribute.WeaverVersionInfo;
@@ -63,7 +64,7 @@ public class AndAnnotationTypePattern extends AnnotationTypePattern {
return this;
}
- public AnnotationTypePattern parameterizeWith(Map typeVariableMap, World w) {
+ public AnnotationTypePattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
AnnotationTypePattern newLeft = left.parameterizeWith(typeVariableMap, w);
AnnotationTypePattern newRight = right.parameterizeWith(typeVariableMap, w);
AndAnnotationTypePattern ret = new AndAnnotationTypePattern(newLeft, newRight);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPatternList.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPatternList.java
index 6b6d820b7..0b93b48d1 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPatternList.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPatternList.java
@@ -18,14 +18,12 @@ import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
/**
- * @author colyer
- *
- * TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code
- * Templates
+ * @author Adrian Colyer
*/
public class AnnotationPatternList extends PatternNode {
@@ -38,7 +36,7 @@ public class AnnotationPatternList extends PatternNode {
new AnnotationTypePattern[] { AnnotationTypePattern.ELLIPSIS });
public AnnotationPatternList() {
- typePatterns = new AnnotationTypePattern[0];
+ typePatterns = new AnnotationTypePattern[0];
ellipsisCount = 0;
}
@@ -51,7 +49,7 @@ public class AnnotationPatternList extends PatternNode {
}
}
- public AnnotationPatternList(List l) {
+ public AnnotationPatternList(List<AnnotationTypePattern> l) {
this((AnnotationTypePattern[]) l.toArray(new AnnotationTypePattern[l.size()]));
}
@@ -59,7 +57,7 @@ public class AnnotationPatternList extends PatternNode {
return typePatterns;
}
- public AnnotationPatternList parameterizeWith(Map typeVariableMap, World w) {
+ public AnnotationPatternList parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
AnnotationTypePattern[] parameterizedPatterns = new AnnotationTypePattern[this.typePatterns.length];
for (int i = 0; i < parameterizedPatterns.length; i++) {
parameterizedPatterns[i] = this.typePatterns[i].parameterizeWith(typeVariableMap, w);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPointcut.java
index 44b346e60..0a197254a 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationPointcut.java
@@ -254,13 +254,13 @@ public class AnnotationPointcut extends NameBindingPointcut {
*
* @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingAnnotationTypePatterns()
*/
- public List getBindingAnnotationTypePatterns() {
+ public List<BindingPattern> getBindingAnnotationTypePatterns() {
if (annotationTypePattern instanceof BindingPattern) { // BindingAnnotationTypePattern) {
- List l = new ArrayList();
- l.add(annotationTypePattern);
+ List<BindingPattern> l = new ArrayList<BindingPattern>();
+ l.add((BindingPattern)annotationTypePattern);
return l;
} else {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
}
@@ -269,8 +269,8 @@ public class AnnotationPointcut extends NameBindingPointcut {
*
* @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingTypePatterns()
*/
- public List getBindingTypePatterns() {
- return Collections.EMPTY_LIST;
+ public List<BindingTypePattern> getBindingTypePatterns() {
+ return Collections.emptyList();
}
/*
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationTypePattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationTypePattern.java
index 0f610fc49..82fb33854 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationTypePattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnnotationTypePattern.java
@@ -19,6 +19,7 @@ import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.IntMap;
import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
@@ -50,7 +51,7 @@ public abstract class AnnotationTypePattern extends PatternNode {
public abstract void resolve(World world);
- public abstract AnnotationTypePattern parameterizeWith(Map/* name -> ResolvedType */typeVariableMap, World w);
+ public abstract AnnotationTypePattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w);
public boolean isAny() {
return false;
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.java
index fa154f38c..8306ff6d0 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/AnyWithAnnotationTypePattern.java
@@ -20,6 +20,7 @@ import org.aspectj.util.FuzzyBoolean;
import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.WeaverMessages;
import org.aspectj.weaver.World;
@@ -82,7 +83,7 @@ public class AnyWithAnnotationTypePattern extends TypePattern {
}
@Override
- public TypePattern parameterizeWith(Map typeVariableMap, World w) {
+ public TypePattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
AnyWithAnnotationTypePattern ret = new AnyWithAnnotationTypePattern(this.annotationPattern.parameterizeWith(
typeVariableMap, w));
ret.copyLocationFrom(this);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java
index 433908813..db612b8cd 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java
@@ -179,36 +179,21 @@ public class ArgsAnnotationPointcut extends NameBindingPointcut {
return ret;
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingAnnotationTypePatterns()
- */
- public List getBindingAnnotationTypePatterns() {
- List l = new ArrayList();
+ public List<BindingPattern> getBindingAnnotationTypePatterns() {
+ List<BindingPattern> l = new ArrayList<BindingPattern>();
AnnotationTypePattern[] pats = arguments.getAnnotationPatterns();
for (int i = 0; i < pats.length; i++) {
if (pats[i] instanceof BindingAnnotationTypePattern) {
- l.add(pats[i]);
+ l.add((BindingPattern)pats[i]);
}
}
return l;
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingTypePatterns()
- */
- public List getBindingTypePatterns() {
- return Collections.EMPTY_LIST;
+ public List<BindingTypePattern> getBindingTypePatterns() {
+ return Collections.emptyList();
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.PatternNode#write(java.io.DataOutputStream)
- */
public void write(CompressingDataOutputStream s) throws IOException {
s.writeByte(Pointcut.ATARGS);
arguments.write(s);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsPointcut.java
index a5d3569c2..4898a92b5 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ArgsPointcut.java
@@ -118,21 +118,11 @@ public class ArgsPointcut extends NameBindingPointcut {
return argumentsToMatchAgainst;
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingAnnotationTypePatterns()
- */
- public List getBindingAnnotationTypePatterns() {
- return Collections.EMPTY_LIST;
+ public List<BindingPattern> getBindingAnnotationTypePatterns() {
+ return Collections.emptyList();
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingTypePatterns()
- */
- public List getBindingTypePatterns() {
+ public List<BindingTypePattern> getBindingTypePatterns() {
List<BindingTypePattern> l = new ArrayList<BindingTypePattern>();
TypePattern[] pats = arguments.getTypePatterns();
for (int i = 0; i < pats.length; i++) {
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/BindingTypePattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/BindingTypePattern.java
index c0d5434ef..900285038 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/BindingTypePattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/BindingTypePattern.java
@@ -96,7 +96,7 @@ public class BindingTypePattern extends ExactTypePattern implements BindingPatte
}
}
- public TypePattern parameterizeWith(Map typeVariableMap, World w) {
+ public TypePattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
ExactTypePattern superParameterized = (ExactTypePattern) super.parameterizeWith(typeVariableMap, w);
BindingTypePattern ret = new BindingTypePattern(superParameterized.getExactType(), this.formalIndex, this.isVarArgs);
ret.copyLocationFrom(this);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/CflowPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/CflowPointcut.java
index 135c496b5..ed66dc0d5 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/CflowPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/CflowPointcut.java
@@ -40,6 +40,7 @@ import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.WeaverMessages;
import org.aspectj.weaver.World;
import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.patterns.ConcreteCflowPointcut.Slot;
public class CflowPointcut extends Pointcut {
private final Pointcut entry; // The pointcut inside the cflow() that
@@ -103,7 +104,7 @@ public class CflowPointcut extends Pointcut {
return ret;
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
CflowPointcut ret = new CflowPointcut(entry.parameterizeWith(typeVariableMap, w), isBelow, freeVars);
ret.copyLocationFrom(this);
return ret;
@@ -250,7 +251,7 @@ public class CflowPointcut extends Pointcut {
return ret;
} else {
- List slots = new ArrayList();
+ List<Slot> slots = new ArrayList<Slot>();
for (int i = 0, len = freeVars.length; i < len; i++) {
int freeVar = freeVars[i];
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
index 8a553632b..09208f9c2 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
@@ -13,7 +13,6 @@
package org.aspectj.weaver.patterns;
import java.io.IOException;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -35,12 +34,12 @@ import org.aspectj.weaver.ast.Test;
public class ConcreteCflowPointcut extends Pointcut {
private final Member cflowField;
- List/* Slot */slots; // exposed for testing
+ List<Slot> slots; // exposed for testing
boolean usesCounter;
ResolvedType aspect;
// Can either use a counter or a stack to implement cflow.
- public ConcreteCflowPointcut(ResolvedType aspect, Member cflowField, List slots, boolean usesCounter) {
+ public ConcreteCflowPointcut(ResolvedType aspect, Member cflowField, List<Slot> slots, boolean usesCounter) {
this.aspect = aspect;
this.cflowField = cflowField;
this.slots = slots;
@@ -63,8 +62,7 @@ public class ConcreteCflowPointcut extends Pointcut {
// this bit is for pr145693 - we cannot match at all if one of the types is missing, we will be unable
// to create the residue
if (slots != null) {
- for (Iterator i = slots.iterator(); i.hasNext();) {
- Slot slot = (Slot) i.next();
+ for (Slot slot: slots) {
ResolvedType rt = slot.formalType;
if (rt.isMissing()) {
ISourceLocation[] locs = new ISourceLocation[] { getSourceLocation() };
@@ -98,7 +96,7 @@ public class ConcreteCflowPointcut extends Pointcut {
throw new RuntimeException("unimplemented");
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
throw new RuntimeException("unimplemented");
}
@@ -126,8 +124,7 @@ public class ConcreteCflowPointcut extends Pointcut {
return Test.makeFieldGetCall(cflowField, cflowCounterIsValidMethod, Expr.NONE);
} else {
if (slots != null) { // null for cflows managed by counters
- for (Iterator i = slots.iterator(); i.hasNext();) {
- Slot slot = (Slot) i.next();
+ for (Slot slot: slots) {
// System.out.println("slot: " + slot.formalIndex);
state.set(slot.formalIndex,
aspect.getWorld().getWeavingSupport().makeCflowAccessVar(slot.formalType, cflowField, slot.arrayIndex));
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
index c3a698967..0a46fa1e9 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
@@ -17,6 +17,7 @@ import java.util.Map;
import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
@@ -99,7 +100,7 @@ public class DeclareErrorOrWarning extends Declare {
pointcut = pointcut.resolve(scope);
}
- public Declare parameterizeWith(Map typeVariableBindingMap, World w) {
+ public Declare parameterizeWith(Map<String,UnresolvedType> typeVariableBindingMap, World w) {
Declare ret = new DeclareErrorOrWarning(isError, pointcut.parameterizeWith(typeVariableBindingMap, w), message);
ret.copyLocationFrom(this);
return ret;
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NameBindingPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
index 511ff6859..34b25e207 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
@@ -45,8 +45,8 @@ public abstract class NameBindingPointcut extends Pointcut {
return Test.makeInstanceof(var, myType.resolve(world));
}
- public abstract List/*<BindingTypePattern>*/ getBindingTypePatterns();
- public abstract List/*<BindingAnnotationTypePattern>*/ getBindingAnnotationTypePatterns();
+ public abstract List<BindingTypePattern> getBindingTypePatterns();
+ public abstract List<BindingPattern> getBindingAnnotationTypePatterns();
}
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NotAnnotationTypePattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NotAnnotationTypePattern.java
index 76acc110a..0317b85a5 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NotAnnotationTypePattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/NotAnnotationTypePattern.java
@@ -17,6 +17,7 @@ import org.aspectj.weaver.AnnotatedElement;
import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
import org.aspectj.weaver.AjAttribute.WeaverVersionInfo;
@@ -63,7 +64,7 @@ public class NotAnnotationTypePattern extends AnnotationTypePattern {
return this;
}
- public AnnotationTypePattern parameterizeWith(Map typeVariableMap, World w) {
+ public AnnotationTypePattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
AnnotationTypePattern newNegatedPattern = negatedPattern.parameterizeWith(typeVariableMap, w);
NotAnnotationTypePattern ret = new NotAnnotationTypePattern(newNegatedPattern);
ret.copyLocationFrom(this);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/OrAnnotationTypePattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/OrAnnotationTypePattern.java
index 559b0046a..3cfe1de8b 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/OrAnnotationTypePattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/OrAnnotationTypePattern.java
@@ -17,6 +17,7 @@ import org.aspectj.weaver.AnnotatedElement;
import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
import org.aspectj.weaver.AjAttribute.WeaverVersionInfo;
@@ -45,19 +46,13 @@ public class OrAnnotationTypePattern extends AnnotationTypePattern {
right.resolve(world);
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.AnnotationTypePattern#resolveBindings(org.aspectj.weaver.patterns.IScope,
- * org.aspectj.weaver.patterns.Bindings, boolean)
- */
public AnnotationTypePattern resolveBindings(IScope scope, Bindings bindings, boolean allowBinding) {
left = left.resolveBindings(scope, bindings, allowBinding);
right = right.resolveBindings(scope, bindings, allowBinding);
return this;
}
- public AnnotationTypePattern parameterizeWith(Map typeVariableMap, World w) {
+ public AnnotationTypePattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
AnnotationTypePattern newLeft = left.parameterizeWith(typeVariableMap, w);
AnnotationTypePattern newRight = right.parameterizeWith(typeVariableMap, w);
OrAnnotationTypePattern ret = new OrAnnotationTypePattern(newLeft, newRight);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerCflow.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerCflow.java
index c449eccfa..901c494a6 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerCflow.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerCflow.java
@@ -69,7 +69,7 @@ public class PerCflow extends PerClause {
entry.resolve(scope);
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
PerCflow ret = new PerCflow(entry.parameterizeWith(typeVariableMap, w), isBelow);
ret.copyLocationFrom(this);
return ret;
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerFromSuper.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerFromSuper.java
index d513d65f7..9875291f3 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerFromSuper.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerFromSuper.java
@@ -21,6 +21,7 @@ import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.WeaverMessages;
import org.aspectj.weaver.World;
@@ -74,7 +75,7 @@ public class PerFromSuper extends PerClause {
}
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
return this;
}
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerObject.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerObject.java
index 3a799f78e..237a64a8e 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerObject.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerObject.java
@@ -24,6 +24,7 @@ import org.aspectj.weaver.PerObjectInterfaceTypeMunger;
import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.ResolvedTypeMunger;
import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
import org.aspectj.weaver.ast.Expr;
@@ -87,7 +88,7 @@ public class PerObject extends PerClause {
entry.resolve(scope);
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
PerObject ret = new PerObject(entry.parameterizeWith(typeVariableMap, w), isThis);
ret.copyLocationFrom(this);
return ret;
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerSingleton.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerSingleton.java
index 798b1ba55..f53c3a4a5 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerSingleton.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerSingleton.java
@@ -22,6 +22,7 @@ import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedMember;
import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
import org.aspectj.weaver.ast.Expr;
@@ -55,7 +56,7 @@ public class PerSingleton extends PerClause {
// this method intentionally left blank
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
return this;
}
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerTypeWithin.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerTypeWithin.java
index 0bcc85870..e8b92ac5a 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerTypeWithin.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/PerTypeWithin.java
@@ -28,6 +28,7 @@ import org.aspectj.weaver.PerTypeWithinTargetTypeMunger;
import org.aspectj.weaver.ResolvedType;
import org.aspectj.weaver.ResolvedTypeMunger;
import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
import org.aspectj.weaver.ast.Expr;
@@ -58,7 +59,7 @@ public class PerTypeWithin extends PerClause {
return kindSet;
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
PerTypeWithin ret = new PerTypeWithin(typePattern.parameterizeWith(typeVariableMap, w));
ret.copyLocationFrom(this);
return ret;
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java
index 7656a08e0..dfb509195 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java
@@ -89,7 +89,7 @@ public class ThisOrTargetAnnotationPointcut extends NameBindingPointcut {
}
@Override
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
ExactAnnotationTypePattern newPattern = (ExactAnnotationTypePattern) this.annotationTypePattern.parameterizeWith(
typeVariableMap, w);
if (newPattern.getAnnotationType() instanceof ResolvedType) {
@@ -246,13 +246,13 @@ public class ThisOrTargetAnnotationPointcut extends NameBindingPointcut {
* @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingAnnotationTypePatterns()
*/
@Override
- public List getBindingAnnotationTypePatterns() {
+ public List<BindingPattern> getBindingAnnotationTypePatterns() {
if (annotationTypePattern instanceof BindingAnnotationTypePattern) {
- List l = new ArrayList();
- l.add(annotationTypePattern);
+ List<BindingPattern> l = new ArrayList<BindingPattern>();
+ l.add((BindingPattern)annotationTypePattern);
return l;
} else {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
}
@@ -262,8 +262,8 @@ public class ThisOrTargetAnnotationPointcut extends NameBindingPointcut {
* @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingTypePatterns()
*/
@Override
- public List getBindingTypePatterns() {
- return Collections.EMPTY_LIST;
+ public List<BindingTypePattern> getBindingTypePatterns() {
+ return Collections.emptyList();
}
/*
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
index f2e77440b..a278e76c6 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
@@ -34,8 +34,6 @@ import org.aspectj.weaver.ast.Literal;
import org.aspectj.weaver.ast.Test;
import org.aspectj.weaver.ast.Var;
-//
-
/**
* Corresponds to target or this pcd.
*
@@ -90,7 +88,7 @@ public class ThisOrTargetPointcut extends NameBindingPointcut {
}
@Override
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
ThisOrTargetPointcut ret = new ThisOrTargetPointcut(isThis, typePattern.parameterizeWith(typeVariableMap, w));
ret.copyLocationFrom(this);
return ret;
@@ -159,29 +157,19 @@ public class ThisOrTargetPointcut extends NameBindingPointcut {
typePattern.postRead(enclosingType);
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingAnnotationTypePatterns()
- */
@Override
- public List getBindingAnnotationTypePatterns() {
- return Collections.EMPTY_LIST;
+ public List<BindingPattern> getBindingAnnotationTypePatterns() {
+ return Collections.emptyList();
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingTypePatterns()
- */
@Override
- public List getBindingTypePatterns() {
+ public List<BindingTypePattern> getBindingTypePatterns() {
if (typePattern instanceof BindingTypePattern) {
- List l = new ArrayList();
- l.add(typePattern);
+ List<BindingTypePattern> l = new ArrayList<BindingTypePattern>();
+ l.add((BindingTypePattern)typePattern);
return l;
} else {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
}
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThrowsPattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThrowsPattern.java
index d3e0afce2..93557d8c1 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThrowsPattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/ThrowsPattern.java
@@ -78,7 +78,7 @@ public class ThrowsPattern extends PatternNode {
return this;
}
- public ThrowsPattern parameterizeWith(Map/* name -> resolved type */typeVariableMap, World w) {
+ public ThrowsPattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
ThrowsPattern ret = new ThrowsPattern(required.parameterizeWith(typeVariableMap, w), forbidden.parameterizeWith(
typeVariableMap, w));
ret.copyLocationFrom(this);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypeCategoryTypePattern.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypeCategoryTypePattern.java
index 3e0934fe8..9f565b20d 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypeCategoryTypePattern.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypeCategoryTypePattern.java
@@ -20,6 +20,7 @@ import org.aspectj.util.FuzzyBoolean;
import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedType;
+import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.World;
@@ -69,7 +70,7 @@ public class TypeCategoryTypePattern extends TypePattern {
}
@Override
- public TypePattern parameterizeWith(Map typeVariableMap, World w) {
+ public TypePattern parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
return this;
}
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternList.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternList.java
index 1551cdb40..da9d6e15a 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternList.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternList.java
@@ -58,7 +58,7 @@ public class TypePatternList extends PatternNode {
}
}
- public TypePatternList(List l) {
+ public TypePatternList(List<TypePattern> l) {
this((TypePattern[]) l.toArray(new TypePattern[l.size()]));
}
@@ -424,7 +424,7 @@ public class TypePatternList extends PatternNode {
* @param typeVariableMap
* @return
*/
- public TypePatternList parameterizeWith(Map typeVariableMap, World w) {
+ public TypePatternList parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
TypePattern[] parameterizedPatterns = new TypePattern[typePatterns.length];
for (int i = 0; i < parameterizedPatterns.length; i++) {
parameterizedPatterns[i] = typePatterns[i].parameterizeWith(typeVariableMap, w);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternQuestions.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternQuestions.java
index 41aaf4bcf..d4bdf2e58 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternQuestions.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/TypePatternQuestions.java
@@ -22,7 +22,7 @@ import org.aspectj.weaver.ResolvedType;
public class TypePatternQuestions {
- private Map questionsAndAnswers = new HashMap();
+ private Map<Question,FuzzyBoolean> questionsAndAnswers = new HashMap<Question,FuzzyBoolean>();
public FuzzyBoolean askQuestion(TypePattern pattern, ResolvedType type,
TypePattern.MatchKind kind)
@@ -37,8 +37,8 @@ public class TypePatternQuestions {
}
public Question anyChanges() {
- for (Iterator i = questionsAndAnswers.entrySet().iterator(); i.hasNext(); ) {
- Map.Entry entry = (Map.Entry)i.next();
+ for (Iterator<Map.Entry<Question,FuzzyBoolean>> i = questionsAndAnswers.entrySet().iterator(); i.hasNext(); ) {
+ Map.Entry<Question,FuzzyBoolean> entry = i.next();
Question question = (Question)entry.getKey();
FuzzyBoolean expectedAnswer = (FuzzyBoolean)entry.getValue();
@@ -55,8 +55,7 @@ public class TypePatternQuestions {
public String toString() {
StringBuffer buf = new StringBuffer();
buf.append("TypePatternQuestions{");
- for (Iterator i = questionsAndAnswers.entrySet().iterator(); i.hasNext(); ) {
- Map.Entry entry = (Map.Entry)i.next();
+ for (Map.Entry<Question,FuzzyBoolean> entry: questionsAndAnswers.entrySet()) {
Question question = (Question)entry.getKey();
FuzzyBoolean expectedAnswer = (FuzzyBoolean)entry.getValue();
buf.append(question);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java
index 87966f017..42ec11dc2 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java
@@ -69,7 +69,7 @@ public class WithinAnnotationPointcut extends NameBindingPointcut {
}
@Override
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
WithinAnnotationPointcut ret = new WithinAnnotationPointcut(this.annotationTypePattern.parameterizeWith(typeVariableMap, w));
ret.copyLocationFrom(this);
return ret;
@@ -161,37 +161,22 @@ public class WithinAnnotationPointcut extends NameBindingPointcut {
return match(shadow).alwaysTrue() ? Literal.TRUE : Literal.FALSE;
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingAnnotationTypePatterns()
- */
@Override
- public List getBindingAnnotationTypePatterns() {
+ public List<BindingPattern> getBindingAnnotationTypePatterns() {
if (annotationTypePattern instanceof BindingAnnotationTypePattern) {
- List l = new ArrayList();
- l.add(annotationTypePattern);
+ List<BindingPattern> l = new ArrayList<BindingPattern>();
+ l.add((BindingPattern)annotationTypePattern);
return l;
} else {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingTypePatterns()
- */
@Override
- public List getBindingTypePatterns() {
- return Collections.EMPTY_LIST;
+ public List<BindingTypePattern> getBindingTypePatterns() {
+ return Collections.emptyList();
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.PatternNode#write(java.io.DataOutputStream)
- */
@Override
public void write(CompressingDataOutputStream s) throws IOException {
s.writeByte(Pointcut.ATWITHIN);
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java
index 0b574c4d4..408c829f5 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java
@@ -77,7 +77,7 @@ public class WithinCodeAnnotationPointcut extends NameBindingPointcut {
return matchedShadowKinds;
}
- public Pointcut parameterizeWith(Map typeVariableMap, World w) {
+ public Pointcut parameterizeWith(Map<String,UnresolvedType> typeVariableMap, World w) {
WithinCodeAnnotationPointcut ret = new WithinCodeAnnotationPointcut((ExactAnnotationTypePattern) this.annotationTypePattern
.parameterizeWith(typeVariableMap, w));
ret.copyLocationFrom(this);
@@ -170,35 +170,20 @@ public class WithinCodeAnnotationPointcut extends NameBindingPointcut {
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingAnnotationTypePatterns()
- */
- public List getBindingAnnotationTypePatterns() {
+ public List<BindingPattern> getBindingAnnotationTypePatterns() {
if (annotationTypePattern instanceof BindingAnnotationTypePattern) {
- List l = new ArrayList();
- l.add(annotationTypePattern);
+ List<BindingPattern> l = new ArrayList<BindingPattern>();
+ l.add((BindingPattern)annotationTypePattern);
return l;
} else {
- return Collections.EMPTY_LIST;
+ return Collections.emptyList();
}
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.NameBindingPointcut#getBindingTypePatterns()
- */
- public List getBindingTypePatterns() {
- return Collections.EMPTY_LIST;
+ public List<BindingTypePattern> getBindingTypePatterns() {
+ return Collections.emptyList();
}
- /*
- * (non-Javadoc)
- *
- * @see org.aspectj.weaver.patterns.PatternNode#write(java.io.DataOutputStream)
- */
public void write(CompressingDataOutputStream s) throws IOException {
s.writeByte(Pointcut.ATWITHINCODE);
annotationTypePattern.write(s);
diff --git a/taskdefs/.isJava5 b/taskdefs/.isJava5
new file mode 100644
index 000000000..136d06384
--- /dev/null
+++ b/taskdefs/.isJava5
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/taskdefs/src/org/aspectj/tools/ant/taskdefs/Ajdoc.java b/taskdefs/src/org/aspectj/tools/ant/taskdefs/Ajdoc.java
index 0957ce1e9..b787a2f89 100644
--- a/taskdefs/src/org/aspectj/tools/ant/taskdefs/Ajdoc.java
+++ b/taskdefs/src/org/aspectj/tools/ant/taskdefs/Ajdoc.java
@@ -58,23 +58,23 @@ public class Ajdoc extends MatchingTask {
protected Commandline vmcmd;
private Path sourcepath;
private File destdir;
- private Collection sourcefiles;
- private Collection packagenames;
+ private Collection<String> sourcefiles;
+ private Collection<String> packagenames;
private File packageList;
private Path bootclasspath;
private Path extdirs;
private Path classpath;
private Path internalclasspath;
- private List argfiles;
+ private List<File> argfiles;
private Path docletpath;
- private Collection links;
- private Collection groups;
+ private Collection<Link> links;
+ private Collection<Group> groups;
private Doclet doclet;
private boolean failonerror;
private boolean fork;
private String source;
private Html bottom;
- private Vector fileSets = new Vector();
+ private Vector<FileSet> fileSets = new Vector<FileSet>();
/** reset all to initial values - permit gc if Ajdoc is held */
public Ajdoc() {
reset();
@@ -94,8 +94,8 @@ public class Ajdoc extends MatchingTask {
internalclasspath = null;
argfiles = null;
docletpath = null;
- links = new ArrayList();
- groups = new ArrayList();
+ links = new ArrayList<Link>();
+ groups = new ArrayList<Group>();
doclet = null;
failonerror = false;
fork = false;
@@ -165,9 +165,9 @@ public class Ajdoc extends MatchingTask {
private void addFileSets() {
if(sourcefiles == null)
- sourcefiles = new ArrayList();
+ sourcefiles = new ArrayList<String>();
- Enumeration e = fileSets.elements();
+ Enumeration<FileSet> e = fileSets.elements();
while (e.hasMoreElements()) {
FileSet fs = (FileSet) e.nextElement();
if (!fs.hasPatterns() && !fs.hasSelectors()) {
@@ -186,7 +186,7 @@ public class Ajdoc extends MatchingTask {
public void setPackagenames(String list) {
(packagenames == null ?
- packagenames = new ArrayList() :
+ packagenames = new ArrayList<String>() :
packagenames).addAll(strings(list, true));
}
@@ -262,9 +262,9 @@ public class Ajdoc extends MatchingTask {
}
}
- public List createArgfiles() {
+ public List<File> createArgfiles() {
return (argfiles == null ?
- argfiles = new ArrayList() :
+ argfiles = new ArrayList<File>() :
argfiles);
}
@@ -388,7 +388,7 @@ public class Ajdoc extends MatchingTask {
public class Group {
private String title;
- private List packages;
+ private List<String> packages;
public Group() {}
public void setTitle(String title) {
this.title = title;
@@ -480,7 +480,7 @@ public class Ajdoc extends MatchingTask {
public class Doclet {
protected String name;
protected Path path;
- protected List params = new ArrayList();
+ protected List<Param> params = new ArrayList<Param>();
public Doclet() {}
public void setName(String name) {
this.name = name;
@@ -583,8 +583,7 @@ public class Ajdoc extends MatchingTask {
cmd.createArgument().setValue(getProject().replaceProperties(bottom.getText()));
}
- for (Iterator i = links.iterator(); i.hasNext();) {
- Link link = (Link)i.next();
+ for (Link link: links) {
if (link.href == null) {
throw new BuildException("Link href cannot be null!", getLocation());
}
@@ -619,9 +618,8 @@ public class Ajdoc extends MatchingTask {
}
}
}
- Map groupMap = new HashMap();
- for (Iterator i = groups.iterator(); i.hasNext();) {
- Group group = (Group)i.next();
+ Map<String,List<String>> groupMap = new HashMap<String,List<String>>();
+ for (Group group: groups) {
if (group.title == null) {
throw new BuildException("Group names cannot be null!",
getLocation());
@@ -630,18 +628,17 @@ public class Ajdoc extends MatchingTask {
throw new BuildException("Group packages cannot be null!",
getLocation());
}
- List packages = (List)groupMap.get(group.title);
+ List<String> packages = groupMap.get(group.title);
if (packages == null) {
- packages = new ArrayList();
+ packages = new ArrayList<String>();
}
packages.addAll(group.packages);
groupMap.put(group.title, packages);
}
- for (Iterator i = groupMap.keySet().iterator(); i.hasNext();) {
- String title = (String)i.next();
- List packages = (List)groupMap.get(title);
+ for (String title: groupMap.keySet()) {
+ List<String> packages = groupMap.get(title);
String pkgstr = "";
- for (Iterator j = packages.iterator(); j.hasNext();) {
+ for (Iterator<String> j = packages.iterator(); j.hasNext();) {
pkgstr += j.next();
if (j.hasNext()) pkgstr += ",";
}
@@ -663,7 +660,7 @@ public class Ajdoc extends MatchingTask {
cmd.createArgument().setValue("@" + packageList);
}
if (null != packagenames) {
- for (Iterator i = packagenames.iterator(); i.hasNext();) {
+ for (Iterator<String> i = packagenames.iterator(); i.hasNext();) {
cmd.createArgument().setValue((String)i.next());
}
}
@@ -688,9 +685,9 @@ public class Ajdoc extends MatchingTask {
addFileSets();
if (sourcefiles != null) {
- for (Iterator i = sourcefiles.iterator(); i.hasNext();) {
+ for (Iterator<String> i = sourcefiles.iterator(); i.hasNext();) {
// let ajdoc resolve sourcefiles relative to sourcepath,
- cmd.createArgument().setValue((String)i.next());
+ cmd.createArgument().setValue(i.next());
}
}
// XXX PR682 weak way to report errors - need to refactor
@@ -717,13 +714,13 @@ public class Ajdoc extends MatchingTask {
}
}
- protected interface Mapper {
- public Object map(String str);
+ protected interface Mapper<T> {
+ public T map(String str);
}
- protected final List list(String str, Mapper mapper) {
- if (str == null) return Collections.EMPTY_LIST;
- List list = new ArrayList();
+ protected final <T> List<T> list(String str, Mapper<T> mapper) {
+ if (str == null) return Collections.emptyList();
+ List<T> list = new ArrayList<T>();
for (StringTokenizer t = new StringTokenizer(str, ",", false);
t.hasMoreTokens();) {
list.add(mapper.map(t.nextToken().trim()));
@@ -731,21 +728,21 @@ public class Ajdoc extends MatchingTask {
return list;
}
- protected final List files(String str) {
- return list(str, new Mapper() {
- public Object map(String s) {
+ protected final List<File> files(String str) {
+ return list(str, new Mapper<File>() {
+ public File map(String s) {
return getProject().resolveFile(s);
}
});
}
- protected final List strings(String str) {
+ protected final List<String> strings(String str) {
return strings(str, false);
}
- protected final List strings(String str, final boolean filterSlashes) {
- return list(str, new Mapper() {
- public Object map(String s) {
+ protected final List<String> strings(String str, final boolean filterSlashes) {
+ return list(str, new Mapper<String>() {
+ public String map(String s) {
return filterSlashes ? filterSlashes(s) : s;
}
});
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
index a7b35a203..3163e7f37 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
@@ -14,7 +14,6 @@ package org.aspectj.weaver.bcel;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
@@ -27,11 +26,7 @@ import java.util.Properties;
import java.util.Set;
import org.aspectj.apache.bcel.Constants;
-import org.aspectj.apache.bcel.classfile.Attribute;
import org.aspectj.apache.bcel.classfile.BootstrapMethods;
-import org.aspectj.apache.bcel.classfile.ConstantInvokeDynamic;
-import org.aspectj.apache.bcel.classfile.ConstantMethodHandle;
-import org.aspectj.apache.bcel.classfile.ConstantMethodref;
import org.aspectj.apache.bcel.classfile.ConstantPool;
import org.aspectj.apache.bcel.classfile.Method;
import org.aspectj.apache.bcel.classfile.annotation.AnnotationGen;
@@ -47,7 +42,6 @@ import org.aspectj.apache.bcel.generic.InstructionLV;
import org.aspectj.apache.bcel.generic.InstructionList;
import org.aspectj.apache.bcel.generic.InstructionSelect;
import org.aspectj.apache.bcel.generic.InstructionTargeter;
-import org.aspectj.apache.bcel.generic.InvokeDynamic;
import org.aspectj.apache.bcel.generic.InvokeInstruction;
import org.aspectj.apache.bcel.generic.LineNumberTag;
import org.aspectj.apache.bcel.generic.LocalVariableTag;
@@ -74,7 +68,6 @@ import org.aspectj.weaver.ConcreteTypeMunger;
import org.aspectj.weaver.IClassWeaver;
import org.aspectj.weaver.IntMap;
import org.aspectj.weaver.Member;
-import org.aspectj.weaver.MemberKind;
import org.aspectj.weaver.MissingResolvedTypeWithKnownSignature;
import org.aspectj.weaver.NameMangler;
import org.aspectj.weaver.NewConstructorTypeMunger;