!7 sclass Entry { S line; S rule; S varMap; S judgement; S matchedRuleStruct; S context; } cmodule SearchForStatements > DynObjectTable { transient ReliableSingleThread rstSearch = dm_rst(this, r search); start { } visualize { ret withCenteredButtons(super.visualize(), "Search", rstSearch); } void search { new L list; GazelleEvalContext ctx = dm_gazelle_stdEvalContext(dm_gazelle_rulesOnFacts()); for (GazelleTree t : gazelle_getChildren(GazelleTree(ctx, "john doe is a guy"))) list.add(nu Entry(line := t.parent().line, varMap := struct(t.varMap()))); setList(list); } }