private unsafe void ParseDirectiveLocation() { ISyntaxToken token = _reader.Token; if (token.Kind == TokenKind.Name) { fixed(char *c = _reader.Value) { string name = new string(c, 0, _reader.Value.Length); if (DirectiveLocation.IsValidName(name)) { _classifications.AddClassification( SyntaxClassificationKind.DirectiveLocation, _reader.Token); MoveNext(); return; } } } _classifications.AddClassification( SyntaxClassificationKind.Error, _reader.Token); MoveNext(); }
private NameNode ParseDirectiveLocation() { TokenKind kind = _reader.Kind; NameNode name = ParseName(); if (DirectiveLocation.IsValidName(name.Value)) { return(name); } throw Unexpected(kind); }