[Soot-list] Bug (and fix?) in FastHierarchy

Eric Bodden eric.bodden at ec-spride.de
Fri Feb 8 02:47:22 EST 2013


By the way, this is really a quite funny problem...

Consider adding this class:

package a;
public class D extends b.B {
	protected void m() {
		super.m();
	}
}

Here I will get an error message from javac because I cannot call
"super" to an abstract method. However, if D extends A then it works
again. Hence, in a way, the abstract-method definition in B lowers the
visibility of A.m() for subclasses of A that reside in "a".

Eric

On 8 February 2013 07:38, Michael Pradel <michael at binaervarianz.de> wrote:
> package a;
> public class A {
>   void m() {}
> }
>
> package b;
> abstract public class B extends A {
>   abstract protected void m();
> }
>
> package c;
> public class C extends B {
>   protected void m() {}
> }




-- 
Eric Bodden, Ph.D., http://sse.ec-spride.de/ http://bodden.de/
Head of Secure Software Engineering Group at EC SPRIDE
Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt


More information about the Soot-list mailing list