!752 !include #1002529 // Explain p { for (S java : toLinesFullTrim([[ class bla { bla() {} } class bla { void bla() {} } class blubb { void bla() {} } class bla { class sub { sub() {} } } // difficult case! ]])) pcall { O parseResult = jparse1(java); L e = cast call(parseResult, "explain", "source"); printStructure(e); Explain explain = new Explain(parseResult, e); assertEquals("classdecl", explain.className()); // remove all inner classes explain.pruneSubs("classdecl"); print(java); print(" Constructors: " + structure(explain.findAll("constructordecl"))); } }