private static Parser <SyntaxToken, JassTypeSyntax> GetReferenceTypeParser()
 {
     return(OneOf(
                Keyword(SyntaxTokenType.HandleKeyword).ThenReturn(JassTypeSyntax.Handle),
                IdentifierNameParser.Map(id => new JassTypeSyntax(id.Name)))
            .Labelled("reference type"));
 }
Exemplo n.º 2
0
 private static Parser <char, JassTypeSyntax> GetTypeParser()
 {
     return(OneOf(
                Keyword("code").ThenReturn(JassTypeSyntax.Code),
                Keyword("handle").ThenReturn(JassTypeSyntax.Handle),
                Keyword("integer").ThenReturn(JassTypeSyntax.Integer),
                Keyword("real").ThenReturn(JassTypeSyntax.Real),
                Keyword("boolean").ThenReturn(JassTypeSyntax.Boolean),
                Keyword("string").ThenReturn(JassTypeSyntax.String),
                IdentifierNameParser.Map(id => new JassTypeSyntax(id.Name)))
            .Labelled("type"));
 }
 private static Parser <SyntaxToken, JassTypeSyntax> GetTypeParser()
 {
     return(OneOf(
                Keyword(SyntaxTokenType.CodeKeyword).ThenReturn(JassTypeSyntax.Code),
                Keyword(SyntaxTokenType.HandleKeyword).ThenReturn(JassTypeSyntax.Handle),
                Keyword(SyntaxTokenType.IntegerKeyword).ThenReturn(JassTypeSyntax.Integer),
                Keyword(SyntaxTokenType.RealKeyword).ThenReturn(JassTypeSyntax.Real),
                Keyword(SyntaxTokenType.BooleanKeyword).ThenReturn(JassTypeSyntax.Boolean),
                Keyword(SyntaxTokenType.StringKeyword).ThenReturn(JassTypeSyntax.String),
                IdentifierNameParser.Map(id => new JassTypeSyntax(id.Name)))
            .Labelled("type"));
 }