summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2003-02-26 10:52:35 +0000
committeracolyer <acolyer>2003-02-26 10:52:35 +0000
commit2e89f544a7dacfea37cfb4b076f5fa33302ebc64 (patch)
tree127d33d442ed19ce9335a97d37fe847b4373a76c /weaver
parent20bf213e44aad97b8a1b1efcda24a07b7c92f0d4 (diff)
downloadaspectj-2e89f544a7dacfea37cfb4b076f5fa33302ebc64.tar.gz
aspectj-2e89f544a7dacfea37cfb4b076f5fa33302ebc64.zip
Ran "Organize imports" to remove redundant imports etc -
clears up a huge set of warnings in Eclipse so that you can see the wood for the trees!
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/Advice.java11
-rw-r--r--weaver/src/org/aspectj/weaver/AdviceKind.java3
-rw-r--r--weaver/src/org/aspectj/weaver/AjAttribute.java10
-rw-r--r--weaver/src/org/aspectj/weaver/AsmAdaptor.java11
-rw-r--r--weaver/src/org/aspectj/weaver/Checker.java5
-rw-r--r--weaver/src/org/aspectj/weaver/CrosscuttingMembers.java15
-rw-r--r--weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java10
-rw-r--r--weaver/src/org/aspectj/weaver/IntMap.java3
-rw-r--r--weaver/src/org/aspectj/weaver/Iterators.java5
-rw-r--r--weaver/src/org/aspectj/weaver/Lint.java15
-rw-r--r--weaver/src/org/aspectj/weaver/Member.java9
-rw-r--r--weaver/src/org/aspectj/weaver/NameMangler.java3
-rw-r--r--weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java5
-rw-r--r--weaver/src/org/aspectj/weaver/NewFieldTypeMunger.java7
-rw-r--r--weaver/src/org/aspectj/weaver/NewMethodTypeMunger.java6
-rw-r--r--weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java5
-rw-r--r--weaver/src/org/aspectj/weaver/PrivilegedAccessMunger.java7
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedMember.java4
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedPointcutDefinition.java4
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java10
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedTypeX.java12
-rw-r--r--weaver/src/org/aspectj/weaver/Shadow.java18
-rw-r--r--weaver/src/org/aspectj/weaver/ShadowMunger.java2
-rw-r--r--weaver/src/org/aspectj/weaver/StaticJoinPointFactory.java2
-rw-r--r--weaver/src/org/aspectj/weaver/TypeX.java7
-rw-r--r--weaver/src/org/aspectj/weaver/WeaverStateKind.java3
-rw-r--r--weaver/src/org/aspectj/weaver/World.java15
-rw-r--r--weaver/src/org/aspectj/weaver/ast/CallExpr.java2
-rw-r--r--weaver/src/org/aspectj/weaver/ast/Expr.java3
-rw-r--r--weaver/src/org/aspectj/weaver/ast/FieldGet.java3
-rw-r--r--weaver/src/org/aspectj/weaver/ast/Test.java2
-rw-r--r--weaver/src/org/aspectj/weaver/ast/Var.java2
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelAdvice.java23
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelAttributes.java8
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelCflowAccessVar.java9
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.java10
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java47
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelField.java9
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelFieldRef.java6
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelMethod.java15
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java21
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelRenderer.java23
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelShadow.java40
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java5
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java24
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelVar.java5
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java31
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelWorld.java40
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java13
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/ExceptionRange.java3
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java38
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java39
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/Range.java11
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/ShadowRange.java16
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/Tag.java3
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/UnwovenClassFile.java9
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/Utility.java29
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/ZipFileWeaver.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/AndPointcut.java14
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/AndTypePattern.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java14
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/BasicTokenSource.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java8
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/Bindings.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java27
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java21
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/Declare.java3
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java4
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/DeclareParents.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/DeclareSoft.java4
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ExactTypePattern.java11
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ExposedState.java5
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/FormalBinding.java3
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java14
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/IScope.java7
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/IToken.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/IfPointcut.java24
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java13
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ModifiersPattern.java7
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java9
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/NamePattern.java4
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/NotPointcut.java13
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/NotTypePattern.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/OrPointcut.java13
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/OrTypePattern.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ParserException.java2
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PatternNode.java7
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PatternParser.java7
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerCflow.java22
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerClause.java14
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerFromSuper.java11
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerObject.java20
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/PerSingleton.java14
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/Pointcut.java22
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java22
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java14
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/SimpleScope.java10
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java14
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/ThrowsPattern.java9
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/TypePattern.java17
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/TypePatternList.java16
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/TypePatternQuestions.java6
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java19
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java15
-rw-r--r--weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java14
106 files changed, 891 insertions, 344 deletions
diff --git a/weaver/src/org/aspectj/weaver/Advice.java b/weaver/src/org/aspectj/weaver/Advice.java
index b90f2833c..4b90c9d35 100644
--- a/weaver/src/org/aspectj/weaver/Advice.java
+++ b/weaver/src/org/aspectj/weaver/Advice.java
@@ -13,11 +13,14 @@
package org.aspectj.weaver;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
-import org.aspectj.bridge.*;
-import org.aspectj.bridge.MessageUtil;
-import org.aspectj.weaver.patterns.*;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.weaver.patterns.AndPointcut;
+import org.aspectj.weaver.patterns.PerClause;
+import org.aspectj.weaver.patterns.Pointcut;
+import org.aspectj.weaver.patterns.TypePattern;
public abstract class Advice extends ShadowMunger {
diff --git a/weaver/src/org/aspectj/weaver/AdviceKind.java b/weaver/src/org/aspectj/weaver/AdviceKind.java
index d9936427b..55fbb1e97 100644
--- a/weaver/src/org/aspectj/weaver/AdviceKind.java
+++ b/weaver/src/org/aspectj/weaver/AdviceKind.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.IOException;
import org.aspectj.util.TypeSafeEnum;
diff --git a/weaver/src/org/aspectj/weaver/AjAttribute.java b/weaver/src/org/aspectj/weaver/AjAttribute.java
index b72665dfa..f981d21b2 100644
--- a/weaver/src/org/aspectj/weaver/AjAttribute.java
+++ b/weaver/src/org/aspectj/weaver/AjAttribute.java
@@ -13,10 +13,16 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.util.FileUtil;
-import org.aspectj.weaver.patterns.*;
+import org.aspectj.weaver.patterns.Declare;
+import org.aspectj.weaver.patterns.PerClause;
+import org.aspectj.weaver.patterns.Pointcut;
/**
* These attributes are written to and read from .class files (see the JVM spec).
diff --git a/weaver/src/org/aspectj/weaver/AsmAdaptor.java b/weaver/src/org/aspectj/weaver/AsmAdaptor.java
index 0c3c7201d..caeeeaf41 100644
--- a/weaver/src/org/aspectj/weaver/AsmAdaptor.java
+++ b/weaver/src/org/aspectj/weaver/AsmAdaptor.java
@@ -13,13 +13,16 @@
package org.aspectj.weaver;
-import java.util.*;
+import java.util.ArrayList;
import java.util.Iterator;
-import org.aspectj.asm.*;
+import org.aspectj.asm.AdviceAssociation;
+import org.aspectj.asm.LinkNode;
+import org.aspectj.asm.ProgramElementNode;
+import org.aspectj.asm.Relation;
+import org.aspectj.asm.RelationNode;
import org.aspectj.asm.StructureModel;
-import org.aspectj.bridge.*;
-import org.aspectj.bridge.SourceLocation;
+import org.aspectj.bridge.ISourceLocation;
public class AsmAdaptor {
public static void noteMunger(StructureModel model, Shadow shadow, ShadowMunger munger) {
diff --git a/weaver/src/org/aspectj/weaver/Checker.java b/weaver/src/org/aspectj/weaver/Checker.java
index 5c653b13c..ab4541de3 100644
--- a/weaver/src/org/aspectj/weaver/Checker.java
+++ b/weaver/src/org/aspectj/weaver/Checker.java
@@ -13,9 +13,10 @@
package org.aspectj.weaver;
-import org.aspectj.weaver.patterns.*;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.bridge.Message;
+import org.aspectj.weaver.patterns.DeclareErrorOrWarning;
import org.aspectj.weaver.patterns.PerClause;
-import org.aspectj.bridge.*;
public class Checker extends ShadowMunger {
diff --git a/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java b/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java
index 1ffb5dfdf..b5311a9ec 100644
--- a/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java
+++ b/weaver/src/org/aspectj/weaver/CrosscuttingMembers.java
@@ -13,11 +13,18 @@
package org.aspectj.weaver;
-import java.util.*;
-
-import org.aspectj.weaver.patterns.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.aspectj.weaver.patterns.Declare;
+import org.aspectj.weaver.patterns.DeclareErrorOrWarning;
+import org.aspectj.weaver.patterns.DeclareParents;
+import org.aspectj.weaver.patterns.DeclarePrecedence;
+import org.aspectj.weaver.patterns.DeclareSoft;
import org.aspectj.weaver.patterns.PerClause;
-import org.aspectj.bridge.*;
+import org.aspectj.weaver.patterns.Pointcut;
/**
diff --git a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
index 0f2dafde3..5b2e84131 100644
--- a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
+++ b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java
@@ -13,11 +13,11 @@
package org.aspectj.weaver;
-import java.util.*;
-
-import org.aspectj.weaver.patterns.*;
-import org.aspectj.weaver.patterns.PerClause;
-import org.aspectj.bridge.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
/**
diff --git a/weaver/src/org/aspectj/weaver/IntMap.java b/weaver/src/org/aspectj/weaver/IntMap.java
index c36f50499..4025a6211 100644
--- a/weaver/src/org/aspectj/weaver/IntMap.java
+++ b/weaver/src/org/aspectj/weaver/IntMap.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
public class IntMap {
public static final IntMap EMPTY = new IntMap(0) {
diff --git a/weaver/src/org/aspectj/weaver/Iterators.java b/weaver/src/org/aspectj/weaver/Iterators.java
index 44a06ee18..139243d96 100644
--- a/weaver/src/org/aspectj/weaver/Iterators.java
+++ b/weaver/src/org/aspectj/weaver/Iterators.java
@@ -13,7 +13,10 @@
package org.aspectj.weaver;
-import java.util.*;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+import java.util.Set;
public final class Iterators {
diff --git a/weaver/src/org/aspectj/weaver/Lint.java b/weaver/src/org/aspectj/weaver/Lint.java
index 80163d951..8872ca7e6 100644
--- a/weaver/src/org/aspectj/weaver/Lint.java
+++ b/weaver/src/org/aspectj/weaver/Lint.java
@@ -13,13 +13,20 @@
package org.aspectj.weaver;
-import java.io.*;
import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.text.MessageFormat;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
-import org.aspectj.bridge.*;
-import org.aspectj.bridge.IMessage.Kind;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.bridge.ISourceLocation;
+import org.aspectj.bridge.Message;
+import org.aspectj.bridge.MessageUtil;
public class Lint {
private Map kinds = new HashMap();
diff --git a/weaver/src/org/aspectj/weaver/Member.java b/weaver/src/org/aspectj/weaver/Member.java
index b77aacc93..1b6c9aadf 100644
--- a/weaver/src/org/aspectj/weaver/Member.java
+++ b/weaver/src/org/aspectj/weaver/Member.java
@@ -13,9 +13,14 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.IOException;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
import org.aspectj.util.TypeSafeEnum;
diff --git a/weaver/src/org/aspectj/weaver/NameMangler.java b/weaver/src/org/aspectj/weaver/NameMangler.java
index e510cc3e7..d554fc43d 100644
--- a/weaver/src/org/aspectj/weaver/NameMangler.java
+++ b/weaver/src/org/aspectj/weaver/NameMangler.java
@@ -15,9 +15,8 @@ package org.aspectj.weaver;
import java.lang.reflect.Modifier;
-import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.bcel.*;
import org.aspectj.weaver.bcel.BcelObjectType;
+import org.aspectj.weaver.bcel.LazyClassGen;
public class NameMangler {
private NameMangler() {
diff --git a/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java b/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java
index 29ab9f51a..ae62a630e 100644
--- a/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java
@@ -13,11 +13,12 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.util.Set;
import org.aspectj.bridge.IMessage;
-import org.aspectj.weaver.ResolvedTypeMunger.Kind;
public class NewConstructorTypeMunger extends ResolvedTypeMunger {
private ResolvedMember syntheticConstructor;
diff --git a/weaver/src/org/aspectj/weaver/NewFieldTypeMunger.java b/weaver/src/org/aspectj/weaver/NewFieldTypeMunger.java
index c62733884..8733a3b8d 100644
--- a/weaver/src/org/aspectj/weaver/NewFieldTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/NewFieldTypeMunger.java
@@ -13,12 +13,11 @@
package org.aspectj.weaver;
-import java.io.*;
-import java.lang.reflect.Modifier;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.util.Set;
-import org.aspectj.weaver.ResolvedTypeMunger.Kind;
-
public class NewFieldTypeMunger extends ResolvedTypeMunger {
public NewFieldTypeMunger(ResolvedMember signature, Set superMethodsCalled) {
super(Field, signature);
diff --git a/weaver/src/org/aspectj/weaver/NewMethodTypeMunger.java b/weaver/src/org/aspectj/weaver/NewMethodTypeMunger.java
index 380057980..92fcb2c8e 100644
--- a/weaver/src/org/aspectj/weaver/NewMethodTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/NewMethodTypeMunger.java
@@ -13,11 +13,11 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.util.Set;
-import org.aspectj.weaver.ResolvedTypeMunger.Kind;
-
public class NewMethodTypeMunger extends ResolvedTypeMunger {
public NewMethodTypeMunger(
ResolvedMember signature,
diff --git a/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java b/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java
index ae3098b6c..1064d7e83 100644
--- a/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/PerObjectInterfaceTypeMunger.java
@@ -13,10 +13,9 @@
package org.aspectj.weaver;
-import java.io.*;
-import java.util.Set;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.ResolvedTypeMunger.Kind;
import org.aspectj.weaver.patterns.Pointcut;
public class PerObjectInterfaceTypeMunger extends ResolvedTypeMunger {
diff --git a/weaver/src/org/aspectj/weaver/PrivilegedAccessMunger.java b/weaver/src/org/aspectj/weaver/PrivilegedAccessMunger.java
index 7efb31754..909c4d669 100644
--- a/weaver/src/org/aspectj/weaver/PrivilegedAccessMunger.java
+++ b/weaver/src/org/aspectj/weaver/PrivilegedAccessMunger.java
@@ -13,11 +13,8 @@
package org.aspectj.weaver;
-import java.io.*;
-import java.util.Set;
-
-import org.aspectj.weaver.ResolvedTypeMunger.Kind;
-import org.aspectj.weaver.patterns.Pointcut;
+import java.io.DataOutputStream;
+import java.io.IOException;
public class PrivilegedAccessMunger extends ResolvedTypeMunger {
public PrivilegedAccessMunger(ResolvedMember member) {
diff --git a/weaver/src/org/aspectj/weaver/ResolvedMember.java b/weaver/src/org/aspectj/weaver/ResolvedMember.java
index 7b2c1bc4e..b457db0b4 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedMember.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedMember.java
@@ -13,7 +13,9 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.lang.reflect.Modifier;
import org.aspectj.bridge.ISourceLocation;
diff --git a/weaver/src/org/aspectj/weaver/ResolvedPointcutDefinition.java b/weaver/src/org/aspectj/weaver/ResolvedPointcutDefinition.java
index 0e282a7b2..de565597d 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedPointcutDefinition.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedPointcutDefinition.java
@@ -13,7 +13,9 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.weaver.patterns.Pointcut;
diff --git a/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java b/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java
index 31227f643..b2365c388 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java
@@ -13,8 +13,14 @@
package org.aspectj.weaver;
-import java.io.*;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
import java.util.Set;
import org.aspectj.util.TypeSafeEnum;
diff --git a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java
index e13b81bf3..cfce3b03c 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java
@@ -14,12 +14,18 @@
package org.aspectj.weaver;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
-import org.aspectj.bridge.*;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.bridge.ISourceLocation;
import org.aspectj.bridge.MessageUtil;
import org.aspectj.weaver.bcel.BcelObjectType;
-import org.aspectj.weaver.patterns.*;
+import org.aspectj.weaver.patterns.Declare;
import org.aspectj.weaver.patterns.PerClause;
public abstract class ResolvedTypeX extends TypeX {
diff --git a/weaver/src/org/aspectj/weaver/Shadow.java b/weaver/src/org/aspectj/weaver/Shadow.java
index fe58a5672..dd36e0eda 100644
--- a/weaver/src/org/aspectj/weaver/Shadow.java
+++ b/weaver/src/org/aspectj/weaver/Shadow.java
@@ -13,18 +13,18 @@
package org.aspectj.weaver;
-import java.io.*;
-import java.lang.reflect.Modifier;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
-import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.Field;
-import org.aspectj.weaver.ast.Var;
-import org.aspectj.weaver.patterns.IScope;
-import org.aspectj.bridge.*;
+import org.aspectj.bridge.MessageUtil;
import org.aspectj.bridge.SourceLocation;
import org.aspectj.lang.JoinPoint;
-import org.aspectj.util.*;
+import org.aspectj.util.PartialOrder;
+import org.aspectj.util.TypeSafeEnum;
+import org.aspectj.weaver.ast.Var;
/*
* The superclass of anything representing a the shadow of a join point. A shadow represents
diff --git a/weaver/src/org/aspectj/weaver/ShadowMunger.java b/weaver/src/org/aspectj/weaver/ShadowMunger.java
index c81954afb..f6788f6da 100644
--- a/weaver/src/org/aspectj/weaver/ShadowMunger.java
+++ b/weaver/src/org/aspectj/weaver/ShadowMunger.java
@@ -15,8 +15,8 @@ package org.aspectj.weaver;
import org.aspectj.bridge.ISourceLocation;
import org.aspectj.util.PartialOrder;
-import org.aspectj.weaver.patterns.*;
import org.aspectj.weaver.patterns.PerClause;
+import org.aspectj.weaver.patterns.Pointcut;
/**
* For every shadow munger, nothing can be done with it until it is concretized. Then...
diff --git a/weaver/src/org/aspectj/weaver/StaticJoinPointFactory.java b/weaver/src/org/aspectj/weaver/StaticJoinPointFactory.java
index c87d3a5af..79687ba6c 100644
--- a/weaver/src/org/aspectj/weaver/StaticJoinPointFactory.java
+++ b/weaver/src/org/aspectj/weaver/StaticJoinPointFactory.java
@@ -13,8 +13,6 @@
package org.aspectj.weaver;
-import java.io.StringReader;
-import java.util.*;
public class StaticJoinPointFactory {
// int usedKeys;
diff --git a/weaver/src/org/aspectj/weaver/TypeX.java b/weaver/src/org/aspectj/weaver/TypeX.java
index 8e6df145a..6b1443be0 100644
--- a/weaver/src/org/aspectj/weaver/TypeX.java
+++ b/weaver/src/org/aspectj/weaver/TypeX.java
@@ -13,12 +13,11 @@
package org.aspectj.weaver;
-import java.io.*;
-import java.lang.reflect.Modifier;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.util.Iterator;
-import org.aspectj.weaver.patterns.PerClause;
-
public class TypeX {
/**
* This is the bytecode string representation of this Type
diff --git a/weaver/src/org/aspectj/weaver/WeaverStateKind.java b/weaver/src/org/aspectj/weaver/WeaverStateKind.java
index c5d226890..1960c8d12 100644
--- a/weaver/src/org/aspectj/weaver/WeaverStateKind.java
+++ b/weaver/src/org/aspectj/weaver/WeaverStateKind.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.IOException;
import org.aspectj.util.TypeSafeEnum;
diff --git a/weaver/src/org/aspectj/weaver/World.java b/weaver/src/org/aspectj/weaver/World.java
index a97664fd6..6a9080255 100644
--- a/weaver/src/org/aspectj/weaver/World.java
+++ b/weaver/src/org/aspectj/weaver/World.java
@@ -13,13 +13,20 @@
package org.aspectj.weaver;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
-import org.aspectj.weaver.patterns.*;
-import org.aspectj.weaver.patterns.Pointcut;
import org.aspectj.asm.StructureModel;
-import org.aspectj.bridge.*;
+import org.aspectj.bridge.IMessageHandler;
+import org.aspectj.bridge.ISourceLocation;
+import org.aspectj.bridge.Message;
+import org.aspectj.bridge.MessageUtil;
import org.aspectj.bridge.IMessage.Kind;
+import org.aspectj.weaver.patterns.DeclarePrecedence;
+import org.aspectj.weaver.patterns.Pointcut;
public abstract class World {
protected IMessageHandler messageHandler = IMessageHandler.SYSTEM_ERR;
diff --git a/weaver/src/org/aspectj/weaver/ast/CallExpr.java b/weaver/src/org/aspectj/weaver/ast/CallExpr.java
index 6760ad8e4..9bedb27c9 100644
--- a/weaver/src/org/aspectj/weaver/ast/CallExpr.java
+++ b/weaver/src/org/aspectj/weaver/ast/CallExpr.java
@@ -13,8 +13,8 @@
package org.aspectj.weaver.ast;
-import org.aspectj.weaver.*;
import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ResolvedTypeX;
public class CallExpr extends Expr {
// assert m.return value is boolean
diff --git a/weaver/src/org/aspectj/weaver/ast/Expr.java b/weaver/src/org/aspectj/weaver/ast/Expr.java
index 4001a0b33..f66010991 100644
--- a/weaver/src/org/aspectj/weaver/ast/Expr.java
+++ b/weaver/src/org/aspectj/weaver/ast/Expr.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver.ast;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ResolvedTypeX;
public abstract class Expr extends ASTNode {
diff --git a/weaver/src/org/aspectj/weaver/ast/FieldGet.java b/weaver/src/org/aspectj/weaver/ast/FieldGet.java
index 88d17637e..7a31f8dee 100644
--- a/weaver/src/org/aspectj/weaver/ast/FieldGet.java
+++ b/weaver/src/org/aspectj/weaver/ast/FieldGet.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver.ast;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ResolvedTypeX;
public class FieldGet extends Expr {
diff --git a/weaver/src/org/aspectj/weaver/ast/Test.java b/weaver/src/org/aspectj/weaver/ast/Test.java
index 37aaf64d4..b714ccb82 100644
--- a/weaver/src/org/aspectj/weaver/ast/Test.java
+++ b/weaver/src/org/aspectj/weaver/ast/Test.java
@@ -13,7 +13,7 @@
package org.aspectj.weaver.ast;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.Member;
import org.aspectj.weaver.ResolvedTypeX;
public abstract class Test extends ASTNode {
diff --git a/weaver/src/org/aspectj/weaver/ast/Var.java b/weaver/src/org/aspectj/weaver/ast/Var.java
index dc637b9cc..444f29e1a 100644
--- a/weaver/src/org/aspectj/weaver/ast/Var.java
+++ b/weaver/src/org/aspectj/weaver/ast/Var.java
@@ -13,7 +13,7 @@
package org.aspectj.weaver.ast;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ResolvedTypeX;
public class Var extends Expr {
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelAdvice.java b/weaver/src/org/aspectj/weaver/bcel/BcelAdvice.java
index 07b33ce13..de0738773 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelAdvice.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelAdvice.java
@@ -13,10 +13,25 @@
package org.aspectj.weaver.bcel;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.weaver.patterns.*;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.aspectj.weaver.Advice;
+import org.aspectj.weaver.AdviceKind;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.WeaverStateKind;
+import org.aspectj.weaver.World;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.patterns.ExactTypePattern;
+import org.aspectj.weaver.patterns.ExposedState;
+import org.aspectj.weaver.patterns.Pointcut;
/**
* Advice implemented for bcel.
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelAttributes.java b/weaver/src/org/aspectj/weaver/bcel/BcelAttributes.java
index 803690af2..c73b65045 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelAttributes.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelAttributes.java
@@ -13,12 +13,14 @@
package org.aspectj.weaver.bcel;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
-import org.apache.bcel.classfile.*;
+import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel.classfile.Unknown;
import org.apache.bcel.generic.ConstantPoolGen;
-import org.aspectj.weaver.*;
import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.ISourceContext;
// this is a class o' static methods for reading attributes. It's pretty much a bridge from
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelCflowAccessVar.java b/weaver/src/org/aspectj/weaver/bcel/BcelCflowAccessVar.java
index 7ee150548..d920191ce 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelCflowAccessVar.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelCflowAccessVar.java
@@ -14,10 +14,13 @@
package org.aspectj.weaver.bcel;
import org.apache.bcel.Constants;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.Type;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
import org.aspectj.weaver.ResolvedTypeX;
-import org.aspectj.weaver.ast.Var;
/**
* XXX Erik and I need to discuss this hierarchy. Having FieldRef
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.java b/weaver/src/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.java
index 405e28cb3..79acffa18 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelCflowStackFieldAdder.java
@@ -15,9 +15,15 @@ package org.aspectj.weaver.bcel;
import org.apache.bcel.Constants;
import org.apache.bcel.classfile.Field;
-import org.apache.bcel.generic.*;
import org.apache.bcel.generic.FieldGen;
-import org.aspectj.weaver.*;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel.generic.Type;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedTypeX;
public class BcelCflowStackFieldAdder extends BcelTypeMunger {
private ResolvedMember cflowStackField;
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
index 7babec184..1622758de 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java
@@ -14,12 +14,53 @@
package org.aspectj.weaver.bcel;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.apache.bcel.Constants;
-import org.apache.bcel.generic.*;
+import org.apache.bcel.generic.BranchInstruction;
+import org.apache.bcel.generic.CPInstruction;
+import org.apache.bcel.generic.ConstantPoolGen;
+import org.apache.bcel.generic.FieldInstruction;
+import org.apache.bcel.generic.INVOKESPECIAL;
+import org.apache.bcel.generic.IndexedInstruction;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.InstructionTargeter;
+import org.apache.bcel.generic.InvokeInstruction;
+import org.apache.bcel.generic.LocalVariableInstruction;
+import org.apache.bcel.generic.NEW;
+import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel.generic.PUTFIELD;
+import org.apache.bcel.generic.PUTSTATIC;
+import org.apache.bcel.generic.RET;
+import org.apache.bcel.generic.ReturnInstruction;
+import org.apache.bcel.generic.Select;
+import org.apache.bcel.generic.Type;
import org.aspectj.util.PartialOrder;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.AjcMemberMaker;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ConcreteTypeMunger;
+import org.aspectj.weaver.IClassWeaver;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.NewFieldTypeMunger;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ShadowMunger;
+import org.aspectj.weaver.WeaverStateKind;
class BcelClassWeaver implements IClassWeaver {
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelField.java b/weaver/src/org/aspectj/weaver/bcel/BcelField.java
index e7d876817..7491482ec 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelField.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelField.java
@@ -13,10 +13,15 @@
package org.aspectj.weaver.bcel;
-import java.util.*;
+import java.util.Iterator;
+import java.util.List;
import org.apache.bcel.classfile.Field;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
final class BcelField extends ResolvedMember {
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelFieldRef.java b/weaver/src/org/aspectj/weaver/bcel/BcelFieldRef.java
index d32fee9e0..cf779ba8d 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelFieldRef.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelFieldRef.java
@@ -14,10 +14,10 @@
package org.aspectj.weaver.bcel;
import org.apache.bcel.Constants;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionList;
import org.aspectj.weaver.ResolvedTypeX;
-import org.aspectj.weaver.ast.Var;
/**
* XXX Erik and I need to discuss this hierarchy. Having FieldRef
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelMethod.java b/weaver/src/org/aspectj/weaver/bcel/BcelMethod.java
index d79bc40b4..696a5df4d 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelMethod.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelMethod.java
@@ -14,10 +14,19 @@
package org.aspectj.weaver.bcel;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.Iterator;
+import java.util.List;
-import org.apache.bcel.classfile.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.classfile.ExceptionTable;
+import org.apache.bcel.classfile.LocalVariable;
+import org.apache.bcel.classfile.LocalVariableTable;
+import org.apache.bcel.classfile.Method;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ShadowMunger;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
final class BcelMethod extends ResolvedMember {
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java b/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java
index 109e91498..ae1041c56 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java
@@ -14,11 +14,24 @@
package org.aspectj.weaver.bcel;
import java.io.PrintStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
-import org.apache.bcel.classfile.*;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.patterns.*;
+import org.apache.bcel.classfile.Field;
+import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.classfile.Method;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedPointcutDefinition;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.WeaverStateKind;
+import org.aspectj.weaver.World;
import org.aspectj.weaver.patterns.PerClause;
// ??? exposed for testing
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelRenderer.java b/weaver/src/org/aspectj/weaver/bcel/BcelRenderer.java
index 46fcea55f..ea391c7e3 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelRenderer.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelRenderer.java
@@ -14,10 +14,27 @@
package org.aspectj.weaver.bcel;
import org.apache.bcel.Constants;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel.generic.Type;
import org.aspectj.weaver.BCException;
-import org.aspectj.weaver.ast.*;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ast.And;
+import org.aspectj.weaver.ast.Call;
+import org.aspectj.weaver.ast.CallExpr;
+import org.aspectj.weaver.ast.Expr;
+import org.aspectj.weaver.ast.FieldGet;
+import org.aspectj.weaver.ast.FieldGetCall;
+import org.aspectj.weaver.ast.IExprVisitor;
+import org.aspectj.weaver.ast.ITestVisitor;
+import org.aspectj.weaver.ast.Instanceof;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Not;
+import org.aspectj.weaver.ast.Or;
+import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.ast.Var;
// we generate right to left, btw.
public class BcelRenderer implements ITestVisitor, IExprVisitor {
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
index 26d2d7f1d..0483a826e 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
@@ -15,14 +15,46 @@ package org.aspectj.weaver.bcel;
import java.io.File;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
import org.apache.bcel.Constants;
import org.apache.bcel.classfile.Field;
-import org.apache.bcel.generic.*;
+import org.apache.bcel.generic.ACONST_NULL;
+import org.apache.bcel.generic.ArrayType;
+import org.apache.bcel.generic.BranchInstruction;
+import org.apache.bcel.generic.ConstantPoolGen;
+import org.apache.bcel.generic.DUP;
+import org.apache.bcel.generic.DUP_X1;
+import org.apache.bcel.generic.FieldInstruction;
+import org.apache.bcel.generic.INVOKESPECIAL;
+import org.apache.bcel.generic.INVOKESTATIC;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.InstructionTargeter;
+import org.apache.bcel.generic.InvokeInstruction;
+import org.apache.bcel.generic.NEW;
+import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel.generic.ReturnInstruction;
+import org.apache.bcel.generic.SWAP;
+import org.apache.bcel.generic.TargetLostException;
+import org.apache.bcel.generic.Type;
import org.aspectj.bridge.SourceLocation;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.Shadow.Kind;
+import org.aspectj.weaver.AdviceKind;
+import org.aspectj.weaver.AjcMemberMaker;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ShadowMunger;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
import org.aspectj.weaver.ast.Var;
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java b/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java
index ed3095e60..287979b57 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelSourceContext.java
@@ -16,8 +16,9 @@ package org.aspectj.weaver.bcel;
import java.io.File;
import java.util.Arrays;
-import org.aspectj.bridge.*;
-import org.aspectj.weaver.*;
+import org.aspectj.bridge.ISourceLocation;
+import org.aspectj.bridge.SourceLocation;
+import org.aspectj.weaver.IHasPosition;
import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.AjAttribute.SourceContextAttribute;
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
index 934ec96a2..860f91002 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
@@ -14,12 +14,28 @@
package org.aspectj.weaver.bcel;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.Iterator;
+import java.util.Set;
import org.apache.bcel.Constants;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.patterns.*;
+import org.apache.bcel.generic.FieldGen;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.Type;
+import org.aspectj.weaver.AjcMemberMaker;
+import org.aspectj.weaver.ConcreteTypeMunger;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.NewConstructorTypeMunger;
+import org.aspectj.weaver.NewFieldTypeMunger;
+import org.aspectj.weaver.NewMethodTypeMunger;
+import org.aspectj.weaver.PerObjectInterfaceTypeMunger;
+import org.aspectj.weaver.PrivilegedAccessMunger;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedTypeMunger;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.patterns.Pointcut;
//XXX addLazyMethodGen is probably bad everywhere
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelVar.java b/weaver/src/org/aspectj/weaver/bcel/BcelVar.java
index a60230075..249bc1de5 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelVar.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelVar.java
@@ -13,8 +13,9 @@
package org.aspectj.weaver.bcel;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionList;
import org.aspectj.weaver.ResolvedTypeX;
import org.aspectj.weaver.ast.Var;
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java
index 8e02045be..290fc33d7 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java
@@ -13,15 +13,34 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
-import java.util.*;
-import java.util.zip.*;
-
-import org.apache.bcel.classfile.*;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+import java.util.zip.ZipOutputStream;
+
+import org.apache.bcel.classfile.ClassParser;
import org.apache.bcel.classfile.JavaClass;
import org.aspectj.bridge.IMessage;
import org.aspectj.util.FileUtil;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ConcreteTypeMunger;
+import org.aspectj.weaver.CrosscuttingMembersSet;
+import org.aspectj.weaver.IWeaver;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
public class BcelWeaver implements IWeaver {
private BcelWorld world;
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelWorld.java b/weaver/src/org/aspectj/weaver/bcel/BcelWorld.java
index 539bb7dee..27249e2cf 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelWorld.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelWorld.java
@@ -13,22 +13,40 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
+import java.io.File;
import java.io.IOException;
import java.lang.reflect.Modifier;
-import java.util.*;
-import java.util.zip.*;
-import java.util.zip.ZipInputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
-import org.apache.bcel.classfile.*;
-import org.apache.bcel.generic.*;
+import org.apache.bcel.classfile.ClassParser;
+import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.classfile.Method;
+import org.apache.bcel.generic.ConstantPoolGen;
+import org.apache.bcel.generic.FieldInstruction;
+import org.apache.bcel.generic.GETSTATIC;
+import org.apache.bcel.generic.INVOKEINTERFACE;
+import org.apache.bcel.generic.INVOKESPECIAL;
+import org.apache.bcel.generic.INVOKESTATIC;
+import org.apache.bcel.generic.InvokeInstruction;
+import org.apache.bcel.generic.PUTSTATIC;
+import org.apache.bcel.generic.Type;
import org.apache.bcel.util.ClassPath;
-import org.aspectj.util.FileUtil;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.patterns.*;
-import org.aspectj.asm.StructureModel;
-import org.aspectj.bridge.*;
import org.aspectj.bridge.IMessageHandler;
+import org.aspectj.weaver.Advice;
+import org.aspectj.weaver.AdviceKind;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.ConcreteTypeMunger;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedTypeMunger;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
+import org.aspectj.weaver.patterns.FormalBinding;
+import org.aspectj.weaver.patterns.Pointcut;
+import org.aspectj.weaver.patterns.SimpleScope;
public class BcelWorld extends World {
private ClassPathManager classPath;
diff --git a/weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java b/weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java
index ee2b55e6a..3f4c908e9 100644
--- a/weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java
+++ b/weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java
@@ -13,14 +13,19 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
import java.io.File;
-import java.util.*;
-import java.util.zip.*;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.List;
+import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
-import org.aspectj.bridge.*;
import org.aspectj.bridge.IMessageHandler;
+import org.aspectj.bridge.MessageUtil;
import org.aspectj.weaver.TypeX;
diff --git a/weaver/src/org/aspectj/weaver/bcel/ExceptionRange.java b/weaver/src/org/aspectj/weaver/bcel/ExceptionRange.java
index d3ba351c9..1b92edaa5 100644
--- a/weaver/src/org/aspectj/weaver/bcel/ExceptionRange.java
+++ b/weaver/src/org/aspectj/weaver/bcel/ExceptionRange.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver.bcel;
-import org.apache.bcel.generic.*;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
import org.aspectj.weaver.TypeX;
/** exceptionRanges are set initially to be low priority. The various setPriority methods
diff --git a/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java b/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
index da0a2db8f..857e5f58e 100644
--- a/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
+++ b/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
@@ -13,16 +13,42 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintStream;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.*;
-import org.apache.bcel.generic.*;
-import org.apache.bcel.util.ClassPath;
-import org.aspectj.weaver.*;
+import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel.classfile.Field;
+import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.classfile.Method;
+import org.apache.bcel.classfile.Unknown;
+import org.apache.bcel.generic.ClassGen;
+import org.apache.bcel.generic.ConstantPoolGen;
+import org.apache.bcel.generic.FieldGen;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel.generic.PUSH;
+import org.apache.bcel.generic.RETURN;
+import org.apache.bcel.generic.Type;
import org.aspectj.util.CollectionUtil;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.WeaverStateKind;
public final class LazyClassGen {
diff --git a/weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java b/weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java
index 5703b5197..f6d8ee854 100644
--- a/weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java
+++ b/weaver/src/org/aspectj/weaver/bcel/LazyMethodGen.java
@@ -13,14 +13,43 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Stack;
import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.*;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.classfile.Attribute;
+import org.apache.bcel.classfile.ConstantPool;
+import org.apache.bcel.classfile.Method;
+import org.apache.bcel.generic.BranchHandle;
+import org.apache.bcel.generic.BranchInstruction;
+import org.apache.bcel.generic.CPInstruction;
+import org.apache.bcel.generic.CodeExceptionGen;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.InstructionTargeter;
+import org.apache.bcel.generic.LineNumberGen;
+import org.apache.bcel.generic.LocalVariableGen;
+import org.apache.bcel.generic.LocalVariableInstruction;
+import org.apache.bcel.generic.MethodGen;
+import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel.generic.Select;
+import org.apache.bcel.generic.Type;
+import org.aspectj.weaver.AjAttribute;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ResolvedTypeX;
/**
diff --git a/weaver/src/org/aspectj/weaver/bcel/Range.java b/weaver/src/org/aspectj/weaver/bcel/Range.java
index 5c1d2031e..dfc882197 100644
--- a/weaver/src/org/aspectj/weaver/bcel/Range.java
+++ b/weaver/src/org/aspectj/weaver/bcel/Range.java
@@ -13,13 +13,14 @@
package org.aspectj.weaver.bcel;
-import java.lang.reflect.Modifier;
import java.util.Map;
-import org.apache.bcel.Constants;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.IntMap;
+import org.apache.bcel.generic.IMPDEP1;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.InstructionTargeter;
+import org.aspectj.weaver.BCException;
abstract class Range implements InstructionTargeter {
diff --git a/weaver/src/org/aspectj/weaver/bcel/ShadowRange.java b/weaver/src/org/aspectj/weaver/bcel/ShadowRange.java
index 28a0e2ea2..3bbc1cd8a 100644
--- a/weaver/src/org/aspectj/weaver/bcel/ShadowRange.java
+++ b/weaver/src/org/aspectj/weaver/bcel/ShadowRange.java
@@ -13,8 +13,20 @@
package org.aspectj.weaver.bcel;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.generic.BranchInstruction;
+import org.apache.bcel.generic.IndexedInstruction;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.InstructionTargeter;
+import org.apache.bcel.generic.LocalVariableInstruction;
+import org.apache.bcel.generic.RET;
+import org.apache.bcel.generic.Select;
+import org.apache.bcel.generic.TargetLostException;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.Shadow;
final class ShadowRange extends Range {
diff --git a/weaver/src/org/aspectj/weaver/bcel/Tag.java b/weaver/src/org/aspectj/weaver/bcel/Tag.java
index fb0a3eaef..ee1e9fa4a 100644
--- a/weaver/src/org/aspectj/weaver/bcel/Tag.java
+++ b/weaver/src/org/aspectj/weaver/bcel/Tag.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver.bcel;
-import org.apache.bcel.generic.*;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionTargeter;
/** A tag is an instruction-targeter that doesn't bother remembering its target(s) */
abstract class Tag implements InstructionTargeter, Cloneable {
diff --git a/weaver/src/org/aspectj/weaver/bcel/UnwovenClassFile.java b/weaver/src/org/aspectj/weaver/bcel/UnwovenClassFile.java
index 6d1656e4b..88c23811c 100644
--- a/weaver/src/org/aspectj/weaver/bcel/UnwovenClassFile.java
+++ b/weaver/src/org/aspectj/weaver/bcel/UnwovenClassFile.java
@@ -13,8 +13,13 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
-import java.util.*;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
import org.apache.bcel.classfile.JavaClass;
import org.aspectj.util.FileUtil;
diff --git a/weaver/src/org/aspectj/weaver/bcel/Utility.java b/weaver/src/org/aspectj/weaver/bcel/Utility.java
index fde58e127..1fc189598 100644
--- a/weaver/src/org/aspectj/weaver/bcel/Utility.java
+++ b/weaver/src/org/aspectj/weaver/bcel/Utility.java
@@ -13,13 +13,34 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
import java.lang.reflect.Modifier;
import org.apache.bcel.Constants;
-import org.apache.bcel.classfile.*;
-import org.apache.bcel.generic.*;
-import org.aspectj.weaver.*;
+import org.apache.bcel.classfile.ClassParser;
+import org.apache.bcel.classfile.JavaClass;
+import org.apache.bcel.classfile.Method;
+import org.apache.bcel.generic.BIPUSH;
+import org.apache.bcel.generic.BasicType;
+import org.apache.bcel.generic.BranchInstruction;
+import org.apache.bcel.generic.ConstantPushInstruction;
+import org.apache.bcel.generic.INSTANCEOF;
+import org.apache.bcel.generic.Instruction;
+import org.apache.bcel.generic.InstructionFactory;
+import org.apache.bcel.generic.InstructionHandle;
+import org.apache.bcel.generic.InstructionList;
+import org.apache.bcel.generic.InstructionTargeter;
+import org.apache.bcel.generic.LDC;
+import org.apache.bcel.generic.ObjectType;
+import org.apache.bcel.generic.ReferenceType;
+import org.apache.bcel.generic.SIPUSH;
+import org.apache.bcel.generic.TargetLostException;
+import org.apache.bcel.generic.Type;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
public class Utility {
diff --git a/weaver/src/org/aspectj/weaver/bcel/ZipFileWeaver.java b/weaver/src/org/aspectj/weaver/bcel/ZipFileWeaver.java
index e85f1f157..249f36325 100644
--- a/weaver/src/org/aspectj/weaver/bcel/ZipFileWeaver.java
+++ b/weaver/src/org/aspectj/weaver/bcel/ZipFileWeaver.java
@@ -13,10 +13,8 @@
package org.aspectj.weaver.bcel;
-import java.io.*;
-import java.util.zip.*;
-
-import org.aspectj.util.FileUtil;
+import java.io.File;
+import java.io.IOException;
//XXX delete very soon
diff --git a/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java b/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java
index 1c6814ffe..f0e270d9b 100644
--- a/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/AndPointcut.java
@@ -13,12 +13,16 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.util.Map;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Test;
public class AndPointcut extends Pointcut {
Pointcut left, right; // exposed for testing
diff --git a/weaver/src/org/aspectj/weaver/patterns/AndTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/AndTypePattern.java
index 58617ef30..468e95ab2 100644
--- a/weaver/src/org/aspectj/weaver/patterns/AndTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/AndTypePattern.java
@@ -13,10 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedTypeX;
/**
diff --git a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
index 9e2985e9a..3cfff4a68 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java
@@ -13,12 +13,20 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.bridge.IMessage;
import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
+import org.aspectj.weaver.BetaException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
/**
* args(arguments)
diff --git a/weaver/src/org/aspectj/weaver/patterns/BasicTokenSource.java b/weaver/src/org/aspectj/weaver/patterns/BasicTokenSource.java
index c889d64f8..c267116b1 100644
--- a/weaver/src/org/aspectj/weaver/patterns/BasicTokenSource.java
+++ b/weaver/src/org/aspectj/weaver/patterns/BasicTokenSource.java
@@ -13,9 +13,11 @@
package org.aspectj.weaver.patterns;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
public class BasicTokenSource implements ITokenSource {
diff --git a/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java
index 54b6a6231..87a7b524d 100644
--- a/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/BindingTypePattern.java
@@ -13,9 +13,13 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.TypeX;
public class BindingTypePattern extends ExactTypePattern {
private int formalIndex;
diff --git a/weaver/src/org/aspectj/weaver/patterns/Bindings.java b/weaver/src/org/aspectj/weaver/patterns/Bindings.java
index 1a4f8dab4..7fd02c179 100644
--- a/weaver/src/org/aspectj/weaver/patterns/Bindings.java
+++ b/weaver/src/org/aspectj/weaver/patterns/Bindings.java
@@ -13,8 +13,8 @@
package org.aspectj.weaver.patterns;
-import org.aspectj.weaver.BCException;
import org.aspectj.bridge.IMessage;
+import org.aspectj.weaver.BCException;
public class Bindings {
public static final Bindings NONE = new Bindings(0);
diff --git a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
index 2aa3aef3c..5cc3eb4df 100644
--- a/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java
@@ -13,16 +13,29 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.weaver.bcel.*;
-import org.aspectj.weaver.bcel.BcelTypeMunger;
-import org.aspectj.util.*;
+import org.aspectj.util.FileUtil;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.Advice;
+import org.aspectj.weaver.CrosscuttingMembers;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedPointcutDefinition;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
+import org.aspectj.weaver.ast.Test;
public class CflowPointcut extends Pointcut {
diff --git a/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
index 64da23fb1..e20a9a12a 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java
@@ -13,16 +13,21 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.lang.reflect.Modifier;
-import java.util.*;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
import java.util.List;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.weaver.bcel.*;
-import org.aspectj.weaver.bcel.BcelTypeMunger;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.ast.Expr;
+import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.bcel.BcelCflowAccessVar;
public class ConcreteCflowPointcut extends Pointcut {
diff --git a/weaver/src/org/aspectj/weaver/patterns/Declare.java b/weaver/src/org/aspectj/weaver/patterns/Declare.java
index 14e04eae1..010a306a1 100644
--- a/weaver/src/org/aspectj/weaver/patterns/Declare.java
+++ b/weaver/src/org/aspectj/weaver/patterns/Declare.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.IOException;
import org.aspectj.weaver.ISourceContext;
diff --git a/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java b/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
index 7cbce2212..051b44d81 100644
--- a/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
+++ b/weaver/src/org/aspectj/weaver/patterns/DeclareErrorOrWarning.java
@@ -13,7 +13,9 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.weaver.ISourceContext;
diff --git a/weaver/src/org/aspectj/weaver/patterns/DeclareParents.java b/weaver/src/org/aspectj/weaver/patterns/DeclareParents.java
index 0902c7f9b..d71633e7f 100644
--- a/weaver/src/org/aspectj/weaver/patterns/DeclareParents.java
+++ b/weaver/src/org/aspectj/weaver/patterns/DeclareParents.java
@@ -13,10 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.util.List;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedTypeX;
public class DeclareParents extends Declare {
diff --git a/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java b/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java
index cf0ff8d1a..dd6598388 100644
--- a/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java
+++ b/weaver/src/org/aspectj/weaver/patterns/DeclarePrecedence.java
@@ -13,11 +13,13 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.util.List;
import org.aspectj.bridge.IMessage;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedTypeX;
public class DeclarePrecedence extends Declare {
diff --git a/weaver/src/org/aspectj/weaver/patterns/DeclareSoft.java b/weaver/src/org/aspectj/weaver/patterns/DeclareSoft.java
index 388e25d0b..99727d285 100644
--- a/weaver/src/org/aspectj/weaver/patterns/DeclareSoft.java
+++ b/weaver/src/org/aspectj/weaver/patterns/DeclareSoft.java
@@ -13,7 +13,9 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.bridge.IMessage;
import org.aspectj.weaver.ISourceContext;
diff --git a/weaver/src/org/aspectj/weaver/patterns/ExactTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/ExactTypePattern.java
index 42d60da19..ef5929888 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ExactTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ExactTypePattern.java
@@ -13,10 +13,15 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
public class ExactTypePattern extends TypePattern {
protected TypeX type;
diff --git a/weaver/src/org/aspectj/weaver/patterns/ExposedState.java b/weaver/src/org/aspectj/weaver/patterns/ExposedState.java
index 9815f1eae..8e130c689 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ExposedState.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ExposedState.java
@@ -15,8 +15,9 @@ package org.aspectj.weaver.patterns;
import java.util.Arrays;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.ast.Expr;
+import org.aspectj.weaver.ast.Var;
public class ExposedState {
public Var[] vars;
diff --git a/weaver/src/org/aspectj/weaver/patterns/FormalBinding.java b/weaver/src/org/aspectj/weaver/patterns/FormalBinding.java
index 04e78bd32..589b1d0f0 100644
--- a/weaver/src/org/aspectj/weaver/patterns/FormalBinding.java
+++ b/weaver/src/org/aspectj/weaver/patterns/FormalBinding.java
@@ -13,7 +13,8 @@
package org.aspectj.weaver.patterns;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.IHasPosition;
+import org.aspectj.weaver.TypeX;
public class FormalBinding implements IHasPosition {
private final TypeX type;
diff --git a/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java b/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java
index bf3e3a500..243205b7e 100644
--- a/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java
@@ -13,13 +13,17 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.apache.bcel.classfile.JavaClass;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.bridge.MessageUtil;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
/**
* This is a kind of KindedPointcut. This belongs either in
diff --git a/weaver/src/org/aspectj/weaver/patterns/IScope.java b/weaver/src/org/aspectj/weaver/patterns/IScope.java
index 2fc54dd9c..a5803489d 100644
--- a/weaver/src/org/aspectj/weaver/patterns/IScope.java
+++ b/weaver/src/org/aspectj/weaver/patterns/IScope.java
@@ -13,9 +13,12 @@
package org.aspectj.weaver.patterns;
-import org.aspectj.weaver.*;
-import org.aspectj.bridge.*;
+import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.IMessageHandler;
+import org.aspectj.weaver.IHasPosition;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
public interface IScope {
diff --git a/weaver/src/org/aspectj/weaver/patterns/IToken.java b/weaver/src/org/aspectj/weaver/patterns/IToken.java
index c1defb103..e1331ccae 100644
--- a/weaver/src/org/aspectj/weaver/patterns/IToken.java
+++ b/weaver/src/org/aspectj/weaver/patterns/IToken.java
@@ -13,7 +13,7 @@
package org.aspectj.weaver.patterns;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.IHasPosition;
public interface IToken extends IHasPosition {
public static final IToken EOF = BasicToken.makeOperator("<eof>", 0, 0);
diff --git a/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java b/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
index d8ee09149..4c4beb1ab 100644
--- a/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java
@@ -13,15 +13,25 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.bridge.*;
-import org.aspectj.bridge.MessageUtil;
-import org.aspectj.util.*;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.Advice;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedPointcutDefinition;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ShadowMunger;
+import org.aspectj.weaver.ast.Expr;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
public class IfPointcut extends Pointcut {
diff --git a/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java b/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java
index 6003e8f74..1204c97a4 100644
--- a/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java
@@ -13,13 +13,18 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.apache.bcel.classfile.JavaClass;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.bridge.MessageUtil;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
public class KindedPointcut extends Pointcut {
Shadow.Kind kind;
diff --git a/weaver/src/org/aspectj/weaver/patterns/ModifiersPattern.java b/weaver/src/org/aspectj/weaver/patterns/ModifiersPattern.java
index 90c7f4666..f60eecc3b 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ModifiersPattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ModifiersPattern.java
@@ -13,9 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
public class ModifiersPattern extends PatternNode {
private int requiredModifiers;
diff --git a/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java b/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
index 23f062933..6fa9af440 100644
--- a/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/NameBindingPointcut.java
@@ -13,11 +13,10 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-
-import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
+import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.ast.Var;
/**
* Common super type for Pointcuts that can bind formal parameters.
diff --git a/weaver/src/org/aspectj/weaver/patterns/NamePattern.java b/weaver/src/org/aspectj/weaver/patterns/NamePattern.java
index 0d2c70cef..361060faf 100644
--- a/weaver/src/org/aspectj/weaver/patterns/NamePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/NamePattern.java
@@ -13,7 +13,9 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
public class NamePattern extends PatternNode {
char[] pattern;
diff --git a/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java b/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java
index eab4a595c..56ade7763 100644
--- a/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/NotPointcut.java
@@ -13,11 +13,16 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Test;
public class NotPointcut extends Pointcut {
private Pointcut body;
diff --git a/weaver/src/org/aspectj/weaver/patterns/NotTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/NotTypePattern.java
index 17fef11c6..5a3ceacf9 100644
--- a/weaver/src/org/aspectj/weaver/patterns/NotTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/NotTypePattern.java
@@ -13,10 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedTypeX;
/**
diff --git a/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java b/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java
index 2a32edea1..a66d0e1e1 100644
--- a/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/OrPointcut.java
@@ -13,11 +13,16 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Test;
public class OrPointcut extends Pointcut {
private Pointcut left, right;
diff --git a/weaver/src/org/aspectj/weaver/patterns/OrTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/OrTypePattern.java
index 618e6b485..2900d4a2b 100644
--- a/weaver/src/org/aspectj/weaver/patterns/OrTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/OrTypePattern.java
@@ -13,10 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
import org.aspectj.weaver.ResolvedTypeX;
/**
diff --git a/weaver/src/org/aspectj/weaver/patterns/ParserException.java b/weaver/src/org/aspectj/weaver/patterns/ParserException.java
index fdeac1deb..86774283d 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ParserException.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ParserException.java
@@ -13,7 +13,7 @@
package org.aspectj.weaver.patterns;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.IHasPosition;
public class ParserException extends RuntimeException {
diff --git a/weaver/src/org/aspectj/weaver/patterns/PatternNode.java b/weaver/src/org/aspectj/weaver/patterns/PatternNode.java
index d75bb378a..c49b52923 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PatternNode.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PatternNode.java
@@ -13,11 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.bridge.*;
import org.aspectj.bridge.ISourceLocation;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.IHasSourceLocation;
import org.aspectj.weaver.ISourceContext;
public abstract class PatternNode implements IHasSourceLocation {
diff --git a/weaver/src/org/aspectj/weaver/patterns/PatternParser.java b/weaver/src/org/aspectj/weaver/patterns/PatternParser.java
index 9b1ce7455..20d2e0550 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PatternParser.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PatternParser.java
@@ -13,9 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.Shadow;
//XXX doesn't handle errors for extra tokens very well (sometimes ignores)
public class PatternParser {
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerCflow.java b/weaver/src/org/aspectj/weaver/patterns/PerCflow.java
index e1c56cf5c..9af28b7ee 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerCflow.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerCflow.java
@@ -13,14 +13,28 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.lang.reflect.Modifier;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.Advice;
+import org.aspectj.weaver.AjcMemberMaker;
+import org.aspectj.weaver.CrosscuttingMembers;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
+import org.aspectj.weaver.ast.Expr;
+import org.aspectj.weaver.ast.Test;
public class PerCflow extends PerClause {
private boolean isBelow;
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerClause.java b/weaver/src/org/aspectj/weaver/patterns/PerClause.java
index 961e88de0..7764b15cb 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerClause.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerClause.java
@@ -13,14 +13,14 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.lang.reflect.Modifier;
-import java.util.List;
+import java.io.DataInputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.Test;
-import org.aspectj.util.*;
-import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.util.TypeSafeEnum;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
public abstract class PerClause extends Pointcut {
protected ResolvedTypeX inAspect;
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerFromSuper.java b/weaver/src/org/aspectj/weaver/patterns/PerFromSuper.java
index 6d248b11c..0977d7c7c 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerFromSuper.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerFromSuper.java
@@ -13,13 +13,16 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.lang.reflect.Modifier;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
import org.aspectj.bridge.MessageUtil;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Test;
public class PerFromSuper extends PerClause {
private PerClause.Kind kind;
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerObject.java b/weaver/src/org/aspectj/weaver/patterns/PerObject.java
index 9e1d52463..d49536abe 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerObject.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerObject.java
@@ -13,14 +13,22 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.lang.reflect.Modifier;
-import java.util.*;
-import java.util.List;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.Advice;
+import org.aspectj.weaver.AjcMemberMaker;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.PerObjectInterfaceTypeMunger;
+import org.aspectj.weaver.ResolvedTypeMunger;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.World;
+import org.aspectj.weaver.ast.Expr;
+import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.ast.Var;
public class PerObject extends PerClause {
private boolean isThis;
diff --git a/weaver/src/org/aspectj/weaver/patterns/PerSingleton.java b/weaver/src/org/aspectj/weaver/patterns/PerSingleton.java
index a827d6f35..553bc5a94 100644
--- a/weaver/src/org/aspectj/weaver/patterns/PerSingleton.java
+++ b/weaver/src/org/aspectj/weaver/patterns/PerSingleton.java
@@ -13,12 +13,18 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.lang.reflect.Modifier;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.AjcMemberMaker;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Expr;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
public class PerSingleton extends PerClause {
public PerSingleton() {
diff --git a/weaver/src/org/aspectj/weaver/patterns/Pointcut.java b/weaver/src/org/aspectj/weaver/patterns/Pointcut.java
index 9e1b5c5f5..4d1696ae6 100644
--- a/weaver/src/org/aspectj/weaver/patterns/Pointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/Pointcut.java
@@ -13,13 +13,21 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.util.Map;
-
-import org.apache.bcel.classfile.*;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+import org.apache.bcel.classfile.JavaClass;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.util.TypeSafeEnum;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ShadowMunger;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
/**
* The lifecycle of Pointcuts is modeled by Pointcut.State. It has three things:
diff --git a/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java b/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java
index e94634cc9..1a12423b2 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java
@@ -13,17 +13,23 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.lang.reflect.Modifier;
-import java.util.*;
-import java.util.Map;
-import org.apache.bcel.classfile.*;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.bridge.*;
+import org.apache.bcel.classfile.JavaClass;
+import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.MessageUtil;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedPointcutDefinition;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.ast.Test;
/**
*/
diff --git a/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java b/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java
index f6b091289..58ada73f7 100644
--- a/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java
@@ -13,11 +13,19 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import java.util.Collection;
+import java.util.Iterator;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.Member;
+import org.aspectj.weaver.NameMangler;
+import org.aspectj.weaver.ResolvedMember;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
public class SignaturePattern extends PatternNode {
diff --git a/weaver/src/org/aspectj/weaver/patterns/SimpleScope.java b/weaver/src/org/aspectj/weaver/patterns/SimpleScope.java
index fe90901e5..54282a775 100644
--- a/weaver/src/org/aspectj/weaver/patterns/SimpleScope.java
+++ b/weaver/src/org/aspectj/weaver/patterns/SimpleScope.java
@@ -13,9 +13,15 @@
package org.aspectj.weaver.patterns;
-import org.aspectj.weaver.*;
-import org.aspectj.bridge.*;
+import org.aspectj.bridge.IMessage;
import org.aspectj.bridge.IMessageHandler;
+import org.aspectj.bridge.ISourceLocation;
+import org.aspectj.bridge.Message;
+import org.aspectj.bridge.SourceLocation;
+import org.aspectj.weaver.IHasPosition;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
public class SimpleScope implements IScope {
diff --git a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
index d6c130b48..4b4e80766 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java
@@ -13,11 +13,19 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
import org.aspectj.util.FuzzyBoolean;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
+import org.aspectj.weaver.ast.Var;
//
diff --git a/weaver/src/org/aspectj/weaver/patterns/ThrowsPattern.java b/weaver/src/org/aspectj/weaver/patterns/ThrowsPattern.java
index e840f9b94..2b6be4863 100644
--- a/weaver/src/org/aspectj/weaver/patterns/ThrowsPattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/ThrowsPattern.java
@@ -13,11 +13,14 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.ResolvedTypeX;
import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.World;
public class ThrowsPattern extends PatternNode {
diff --git a/weaver/src/org/aspectj/weaver/patterns/TypePattern.java b/weaver/src/org/aspectj/weaver/patterns/TypePattern.java
index cf33acf0b..1cada03d5 100644
--- a/weaver/src/org/aspectj/weaver/patterns/TypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/TypePattern.java
@@ -13,13 +13,18 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.Iterator;
-import org.aspectj.weaver.*;
-import org.aspectj.bridge.*;
-import org.aspectj.bridge.IMessageHandler;
-import org.aspectj.util.*;
+import org.aspectj.bridge.MessageUtil;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.BCException;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
/**
* On creation, type pattern only contains WildTypePattern nodes, not BindingType or ExactType.
*
diff --git a/weaver/src/org/aspectj/weaver/patterns/TypePatternList.java b/weaver/src/org/aspectj/weaver/patterns/TypePatternList.java
index 8d150bd1d..dc4979e30 100644
--- a/weaver/src/org/aspectj/weaver/patterns/TypePatternList.java
+++ b/weaver/src/org/aspectj/weaver/patterns/TypePatternList.java
@@ -13,12 +13,18 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.lang.reflect.Modifier;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
-import org.aspectj.weaver.*;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
public class TypePatternList extends PatternNode {
private TypePattern[] typePatterns;
diff --git a/weaver/src/org/aspectj/weaver/patterns/TypePatternQuestions.java b/weaver/src/org/aspectj/weaver/patterns/TypePatternQuestions.java
index 6c0805904..acd022210 100644
--- a/weaver/src/org/aspectj/weaver/patterns/TypePatternQuestions.java
+++ b/weaver/src/org/aspectj/weaver/patterns/TypePatternQuestions.java
@@ -13,14 +13,12 @@
package org.aspectj.weaver.patterns;
-import java.util.*;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ResolvedTypeX;
-import org.aspectj.weaver.TypeX;
import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ResolvedTypeX;
public class TypePatternQuestions {
diff --git a/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java b/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java
index 89b768c92..45f132875 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java
@@ -13,15 +13,20 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
-import java.util.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
-import org.aspectj.weaver.*;
-import org.aspectj.bridge.*;
import org.aspectj.bridge.IMessage;
-import org.aspectj.util.*;
-
-import com.sun.corba.se.internal.util.Utility;
+import org.aspectj.bridge.Message;
+import org.aspectj.bridge.MessageUtil;
+import org.aspectj.util.FileUtil;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.TypeX;
//XXX need to use dim in matching
public class WildTypePattern extends TypePattern {
diff --git a/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java b/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java
index a0d791d89..3a6db4bec 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java
@@ -13,11 +13,18 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.TypeX;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
public class WithinPointcut extends Pointcut {
TypePattern type;
diff --git a/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java b/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java
index cc6705b79..2b01f961a 100644
--- a/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java
+++ b/weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java
@@ -13,11 +13,17 @@
package org.aspectj.weaver.patterns;
-import java.io.*;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
-import org.aspectj.weaver.*;
-import org.aspectj.weaver.ast.*;
-import org.aspectj.util.*;
+import org.aspectj.util.FuzzyBoolean;
+import org.aspectj.weaver.ISourceContext;
+import org.aspectj.weaver.IntMap;
+import org.aspectj.weaver.ResolvedTypeX;
+import org.aspectj.weaver.Shadow;
+import org.aspectj.weaver.ast.Literal;
+import org.aspectj.weaver.ast.Test;
public class WithincodePointcut extends Pointcut {
SignaturePattern signature;