sclass Tok_SettableFields > Tok_SettableOrGettableFields { *() { super("settable"); recognizedModifiers = listPlus(recognizedModifiers, "void"); } S replacement() { bool returnThis = !contains(modifiers, "void"); S returnType = returnThis ? "selfType" : "void"; ret tok_formatDollarVars( "$fMod $returnType $var aka $setVar($type $var) { this.$var = $var; $returnStatement } gettable $modifiers $type", fMod := joinWithSpace(functionModifiers()) + " public", modifiers := joinWithSpace(listMinus(modifiers, "void")), +type, +var, +returnType, $returnStatement := returnThis ? "this;" : "", setVar := "set" + firstToUpper(var)); } }