public static Int32 Parse(List<Token> src, Int32 begin, out TypeQual qualifier) { // make sure the token is a keyword if (src[begin].type != TokenType.KEYWORD) { qualifier = TypeQual.NULL; return -1; } // check the value KeywordVal val = ((TokenKeyword)src[begin]).val; switch (val) { case KeywordVal.CONST: qualifier = TypeQual.CONST; return begin + 1; case KeywordVal.VOLATILE: qualifier = TypeQual.VOLATILE; return begin + 1; default: qualifier = TypeQual.NULL; return -1; } }
public static DeclnSpecs Add(DeclnSpecs declnSpecs, TypeQual typeQual) => Create(declnSpecs.StorageClsSpecs, declnSpecs.TypeSpecs, declnSpecs.TypeQuals.Add(typeQual));
public static SpecQualList Add(SpecQualList list, TypeQual typeQual) => Create(list.TypeSpecs, list.TypeQuals.Add(typeQual));