// e.g. class JavaInputConditionToCode extends DynCRUD // => add constructor JavaInputConditionToCode() { super(Entry.class); } svoid tok_crudAutoConstructor(LS tok) { for (int i : jfindAll_reversed(tok, " extends < >", (_tok, nIdx) -> equalsOrStartsWithPlusUnderscore(tok.get(nIdx+5), "DynCRUD"))) { S className = tok.get(i), typeName = tok.get(i+8); LS body = tok_classBody(tok, i); if (!jcontains(body, className + "()", tokcondition { ret eqOneOf(_get(tok, i-1), null, "}", ";"); })) { int j = indexOf(tok, "{", i); tokAppend_reTok(tok, j, "\n " + className + "() { super(" + typeName + ".class); }"); } } }