public static ExecutionMode Parse(WordReader reader, uint wordCount) { var id = (Enumerant)reader.ReadWord(); switch (id) { case Enumerant.Invocations: return(Invocations.Parse(reader, wordCount - 1)); case Enumerant.LocalSize: return(LocalSize.Parse(reader, wordCount - 1)); case Enumerant.LocalSizeHint: return(LocalSizeHint.Parse(reader, wordCount - 1)); case Enumerant.OutputVertices: return(OutputVertices.Parse(reader, wordCount - 1)); case Enumerant.VecTypeHint: return(VecTypeHint.Parse(reader, wordCount - 1)); default: return(new ExecutionMode(id)); } }