Modified:
/src/org/ductilej/detyper/Detype.java
=======================================
--- /src/org/ductilej/detyper/Detype.java Mon Jul 19 22:58:56 2010
+++ /src/org/ductilej/detyper/Detype.java Fri Aug 13 11:16:25 2010
@@ -1218,10 +1218,13 @@
// avoid detyping constructors of classes that extend
junit.framework.TestCase that take a
// single String argument
- if (mname == _names.init && pcount == 1 &&
-
String.valueOf(_env.enclClass.sym.getSuperclass()).equals(JUNIT_TESTCASE) &&
- String.valueOf(meth.params.head.vartype).equals("String")) {
- return true;
+ for (Type t = _env.enclClass.sym.getSuperclass(); t !=
_syms.objectType && t.tsym != null;
+ t = ((ClassSymbol)t.tsym).getSuperclass()) {
+ if (mname == _names.init && pcount == 1 &&
+ String.valueOf(t).equals(JUNIT_TESTCASE) &&
+ String.valueOf(meth.params.head.vartype).equals("String"))
{
+ return true;
+ }
}
return false;