Bug 443355 - methods using Type.super.XX failing to compile
Summary: methods using Type.super.XX failing to compile
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.8.2   Edit
Hardware: PC Mac OS X
: P3 normal (vote)
Target Milestone: 1.8.3   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-04 18:37 EDT by Andrew Clement CLA
Modified: 2014-10-08 16:24 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 2014-09-04 18:37:11 EDT
interface Foo {
	static Foo getMeAFoo() {
		return new FooImpl();
	}
//	void printMessage();
	default void printMessage()
	{
		System.out.println("Message from Foo!");
	}
}

//interface Bar {
//	default void printMessage() {
//		System.out.println("Message from Bar!");
//	}
//}

class FooImpl implements Foo {
	@Override
	public void printMessage() {
		Bar.super.printMessage();
	}
}


public class Demo {
	public static void main(String[] args) {
		Foo f = Foo.getMeAFoo();
		f.printMessage();
	}
}

aspect X {
	before(): execution(* Foo.*(..)) {
		System.out.println(thisJoinPoint);
	}
}
Comment 1 Andrew Clement CLA 2014-10-08 16:24:34 EDT
Fixed. Special handling for ITD super references in the JDT patch were damaging the handling of Interface.super references. Change made in QualifiedSuperReference.