You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We will also need to see if there is a way to force javac to emit an invokespecial call that uses the old semantics, e.g. in which case super.foo() should invoke A.foo(). Perhaps this can be achieved through specifying a different target version.
We need to write a test that covers the following crazy scenario:
http://stackoverflow.com/a/8950564
Essentially, we need to write a test that has the following inheritance hierarchy:
C (child of C) -> B (child of A) -> A (parent)
A
should implement a methodfoo
, andC
should override it.C
's implementation should callsuper.foo()
.We compile
C
against a version ofB
that does not havefoo
defined. At runtime, we forceC
to execute with a version ofB
that does havefoo
defined.As currently defined, doppio will incorrectly execute
A.foo()
, because it will not perform the needed lookup.We can accomplish this by having the
foo
version ofB
in a subfolder of ourtest
folder, and put it on the classpath only at runtime.The text was updated successfully, but these errors were encountered: