public override MacroToken VisitArguments(MacroParser.ArgumentsContext context) { var tokens = new MacroListToken(); tokens.AddToken(new TextToken(context.LPAREN().GetText())); var argumentsTokens = Visit(context.args()) as MacroListToken; if (argumentsTokens != null) { tokens.AddRangeTokens(argumentsTokens.Tokens); } tokens.AddToken(new TextToken(context.RPAREN().GetText())); return(tokens); }
private void HandleMacroListTokens(MacroToken token, ref MacroListToken collection) { if (token is MacroListToken) { collection.AddRangeTokens(((MacroListToken)token).Tokens); } else { collection.AddToken(token); } }
public override MacroToken VisitMultipleArg([NotNull] MacroParser.MultipleArgContext context) { var tokens = new MacroListToken(); if (context.WS(0) != null) { tokens.AddToken(new TextToken(context.WS(0).GetText())); } tokens.AddToken(new TextToken(context.COMMA().GetText())); var arg = Visit(context.mArg()); HandleMacroListTokens(arg, ref tokens); if (context.WS(1) != null) { tokens.AddToken(new TextToken(context.WS(1).GetText())); } return(tokens); }