sclass WordTokReplacer_es1 extends WordTokRule { LS tokReplaced; O[] outParams; S requiredInputType; *(S sentence, S _vars, S replaced, O... *outParams) { super(sentence, asCISet(javaTokC(_vars))); tokReplaced = wordTok_noBrackets(replaced); } @Override bool preCheck(DynamicObject o) { if (nempty(requiredInputType)) { S type = getStringDyn type(o); if (neqic(type, requiredInputType)) { print("Bad type: " + type + " - " + extToString((Ext) o)); false; } } true; } run { emit(makeExt(join(replaceCodeTokensUsingMap_curly(tokReplaced, map)), outParams)); } }