Lines Matching defs:tests
101 produce a set of tests that discriminate between the patterns
678 { pattNo: int, tests: (naiveTest * values list) list } list
863 (* Turn a decision tree into a series of tests for each pattern. *)
887 val { tests, ...} = valOf(List.find(fn{pattNo, ...} => pat = pattNo) l)
889 (NaiveWild, vars) :: tests
898 val entry = { pattNo = pat, tests = createTests(pat, pattern) }
968 (* Sequence of tests for naive match. *)
1084 | makePatterns ({ tests, pattNo} :: rest) =
1086 val pattDecs = makeLoads(tests, pattNo, arg, tupleMap, context)
1092 else mkIf(makeNaiveTests(tests, arg, tupleMap, context), pattCode, makePatterns rest)
1108 code = PattCodeNaive({ tests, ...} :: _ (* Normally nil but could be PattCodeWild if non-exhaustive *)), ...},
1117 else [mkNullDec(mkIf(makeNaiveTests(tests, declLoad, [], context), CodeZero, raiseBindException line))]
1119 val pattDecs = makeLoads(tests, 1, declLoad, [], context)