Bug 280676 - incremental generic itd problems
Summary: incremental generic itd problems
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Windows NT
: P2 major (vote)
Target Milestone: 1.6.5   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-17 17:12 EDT by Andrew Clement CLA
Modified: 2009-06-18 14:37 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Clement CLA 2009-06-17 17:12:02 EDT
Playing around with incremental builds of generic ITDs.

java.lang.NullPointerException
at org.aspectj.weaver.NewFieldTypeMunger.equals(NewFieldTypeMunger.java:109)
at org.aspectj.weaver.ConcreteTypeMunger.equivalentTo(ConcreteTypeMunger.java:45)
at org.aspectj.weaver.CrosscuttingMembers.replaceWith(CrosscuttingMembers.java:366)
at org.aspectj.weaver.CrosscuttingMembersSet.addOrReplaceAspect(CrosscuttingMembersSet.java:79)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.addCr ... oBuildJob.run(AutoBuildJob.java:238)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

when I modified a declaration from:

int A<X,Y>.i;

to

int A.i;
Comment 1 Andrew Clement CLA 2009-06-17 17:26:25 EDT
fixed that (was duff equals() code) - also fixed it for ITD methods
Comment 2 Andrew Clement CLA 2009-06-17 17:55:47 EDT
and another:

java.lang.NullPointerException
at org.aspectj.weaver.ResolvedType.discoverActualOccurrenceOfTypeInHierarchy(ResolvedType.java:1369)
at org.aspectj.weaver.ResolvedType.fillInAnyTypeParameters(ResolvedType.java:1420)
at org.aspectj.weaver.ResolvedType.addInterTypeMunger(ResolvedType.java:1462)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:687)
at org.aspectj.ajdt.inter ... oBuildJob.run(AutoBuildJob.java:238)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

going from this:
package p;

import java.util.List;

public class A<N extends Number, T> {
  public static void main(String[] args) {
	A a = new A();
	List<String> localls = a.ls;
	
}
}

to this (removing type vars)

package p;

import java.util.List;

public class A {
  public static void main(String[] args) {
	A a = new A();
	List<String> localls = a.ls;

}
}
Comment 3 Andrew Clement CLA 2009-06-18 14:37:13 EDT
those were both fixed in 1.6.5