// Test multi-parametered template inheritance. // Expected result: PASS class c5 { static String strip(Object o) { String s = o.toString(); if (s.indexOf('@') >= 0) return s.substring(0, s.indexOf('@')) + s.substring(s.indexOf(' ')); return s; } public static void main(String[] args) { System.out.println(strip(new c5f())); System.out.println(strip(new c5g())); System.out.println(strip(new c5h())); } } template class c5a { String v = "c5a.v " + y; } template class c5b { int u = x + y.class.toString().length(); } class c5c { class c5d { static final int y = 8; } static final int z = c5e.w; } class c5e { static final int w = c5c.c5d.y + 1; } class c5f extends c5a { public String toString() { return super.toString() + " " + v; } } class c5g extends c5b { public String toString() { return super.toString() + " " + u; } } class c5h extends c5b { public String toString() { return super.toString() + " " + u; } }