aboutsummaryrefslogtreecommitdiffstats
path: root/src/test
diff options
context:
space:
mode:
authorchibash <chiba@javassist.org>2015-09-25 15:08:57 +0900
committerchibash <chiba@javassist.org>2015-09-25 15:08:57 +0900
commite44bf416bf4f7d705deef9f9243197d4fff9f2d0 (patch)
tree6a97f1fbf68ecae275e827abf0545f006eb4130d /src/test
parent5bbbcdf552934c72b71f15bf97a35d853d309236 (diff)
downloadjavassist-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.java4
-rw-r--r--src/test/test5/JIRA248.java7
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; }
}