@@ -53,7 +53,7 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor { | |||
private boolean initialized; | |||
private List m_dumpTypePattern = new ArrayList(); | |||
private List<TypePattern> m_dumpTypePattern = new ArrayList<TypePattern>(); | |||
private boolean m_dumpBefore = false; | |||
private boolean dumpDirPerClassloader = false; | |||
@@ -931,8 +931,8 @@ public class ClassLoaderWeavingAdaptor extends WeavingAdaptor { | |||
// TODO AV - optimize for className.startWith only | |||
ResolvedType classInfo = weaver.getWorld().resolve(UnresolvedType.forName(className), true); | |||
// dump | |||
for (Iterator iterator = m_dumpTypePattern.iterator(); iterator.hasNext();) { | |||
TypePattern typePattern = (TypePattern) iterator.next(); | |||
for (Iterator<TypePattern> iterator = m_dumpTypePattern.iterator(); iterator.hasNext();) { | |||
TypePattern typePattern = iterator.next(); | |||
if (typePattern.matchesStatically(classInfo)) { | |||
// dump match | |||
return true; |
@@ -737,12 +737,12 @@ public class AjProblemReporter extends ProblemReporter { | |||
} | |||
} | |||
public void duplicateMethodInType(SourceTypeBinding type, AbstractMethodDeclaration methodDecl, boolean equalParameters, int severity) { | |||
public void duplicateMethodInType(AbstractMethodDeclaration methodDecl, boolean equalParameters, int severity) { | |||
if (new String(methodDecl.selector).startsWith("ajc$interMethod")) { | |||
// this is an ITD clash and will be reported in another way by AspectJ (173602) | |||
return; | |||
} | |||
super.duplicateMethodInType(type, methodDecl, equalParameters, severity); | |||
super.duplicateMethodInType(methodDecl, equalParameters, severity); | |||
} | |||
// pr246393 - if we are going to complain about privileged, we clearly don't know what is going on, so don't |
@@ -18,6 +18,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryField; | |||
import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryMethod; | |||
import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryNestedType; | |||
import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryType; | |||
import org.aspectj.org.eclipse.jdt.internal.compiler.env.IBinaryTypeAnnotation; | |||
/** | |||
* Used to determine if a type has structurally changed during incremental compilation. At the end of compilation we create one of | |||
@@ -54,6 +55,7 @@ public class CompactTypeStructureRepresentation implements IBinaryType { | |||
IBinaryMethod[] binMethods; | |||
IBinaryNestedType[] memberTypes; | |||
IBinaryAnnotation[] annotations; | |||
IBinaryTypeAnnotation[] typeAnnotations; | |||
public CompactTypeStructureRepresentation(ClassFileReader cfr, boolean isAspect) { | |||
@@ -82,6 +84,7 @@ public class CompactTypeStructureRepresentation implements IBinaryType { | |||
// references and which were real declarations | |||
this.memberTypes = cfr.getMemberTypes(isAspect); | |||
this.annotations = cfr.getAnnotations(); | |||
this.typeAnnotations = cfr.getTypeAnnotations(); | |||
this.sourceName = cfr.getSourceName(); | |||
this.className = cfr.getName(); // slashes... | |||
this.modifiers = cfr.getModifiers(); | |||
@@ -174,4 +177,8 @@ public class CompactTypeStructureRepresentation implements IBinaryType { | |||
return sourceName; | |||
} | |||
public IBinaryTypeAnnotation[] getTypeAnnotations() { | |||
return typeAnnotations; | |||
} | |||
} |
@@ -4,9 +4,9 @@ | |||
<aspect name="ataspectj.EmptyAspect"/> | |||
</aspects> | |||
<weaver> | |||
<!-- | |||
<dump within="*..*Proxy*" beforeandafter="true"/> | |||
--> | |||
<!-- | |||
<dump within="*Proxy*" beforeandafter="true"/> | |||
--> | |||
</weaver> | |||
</aspectj> |
@@ -132,11 +132,11 @@ public class AtAjLTWTests extends XMLBasedAjcTestCase { | |||
// The working directory is different because this test must be forked | |||
File dir = new File("../tests/java5/ataspectj"); | |||
File f = new File(dir, "_ajdump/_before"); | |||
File f = new File(dir, "_ajdump/_before/com/sun/proxy"); | |||
CountingFilenameFilter cff = new CountingFilenameFilter(".class"); | |||
f.listFiles(cff); | |||
assertEquals("Expected dump file in " + f.getAbsolutePath(), 1, cff.getCount()); | |||
f = new File(dir, "_ajdump"); | |||
f = new File(dir, "_ajdump/com/sun/proxy"); | |||
cff = new CountingFilenameFilter(".class"); | |||
f.listFiles(cff); | |||
assertEquals(1, cff.getCount()); |