diff options
author | chibash <chiba@javassist.org> | 2015-09-25 15:08:57 +0900 |
---|---|---|
committer | chibash <chiba@javassist.org> | 2015-09-25 15:08:57 +0900 |
commit | e44bf416bf4f7d705deef9f9243197d4fff9f2d0 (patch) | |
tree | 6a97f1fbf68ecae275e827abf0545f006eb4130d /src/test | |
parent | 5bbbcdf552934c72b71f15bf97a35d853d309236 (diff) | |
download | javassist-e44bf416bf4f7d705deef9f9243197d4fff9f2d0.tar.gz javassist-e44bf416bf4f7d705deef9f9243197d4fff9f2d0.zip |
fixes JIRA JASSIST-248.
Javassist cannot compile super.m() if m is a default method
declared in an interface.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/javassist/JvstTest5.java | 4 | ||||
-rw-r--r-- | src/test/test5/JIRA248.java | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/test/javassist/JvstTest5.java b/src/test/javassist/JvstTest5.java index 249f4fad..1767436e 100644 --- a/src/test/javassist/JvstTest5.java +++ b/src/test/javassist/JvstTest5.java @@ -128,11 +128,11 @@ public class JvstTest5 extends JvstTestRoot { public void testJIRA248() throws Exception { CtClass cc = sloader.get("test5.JIRA248"); - String methodBody = "public int run() { return foo() + super.foo(); }"; + String methodBody = "public int run() { return foo() + super.foo() + super.bar(); }"; CtMethod ctMethod = CtMethod.make(methodBody, cc); cc.addMethod(ctMethod); cc.writeFile(); Object obj = make(cc.getName()); - assertEquals(71, invoke(obj, "run")); + assertEquals(271, invoke(obj, "run")); } } diff --git a/src/test/test5/JIRA248.java b/src/test/test5/JIRA248.java index 0a0abcbe..5ea8472f 100644 --- a/src/test/test5/JIRA248.java +++ b/src/test/test5/JIRA248.java @@ -4,9 +4,14 @@ interface JIRA248Intf { default int foo() { return 1; } } -class JIRA248Sup implements JIRA248Intf { +class JIRA248Sup2 { + public int bar() { return 200; } +} + +class JIRA248Sup extends JIRA248Sup2 implements JIRA248Intf { } public class JIRA248 extends JIRA248Sup { public int foo() { return 70; } + public int bar() { return 3000; } } |