public IEnumerable <LuaStatementSyntax> Transpile(JassStatementListSyntax statementList) { return(statementList.Statements .Where(statement => !(statement is JassCommentStatementSyntax && IgnoreComments)) .Where(statement => !(statement is JassEmptyStatementSyntax && IgnoreEmptyStatements)) .Select(Transpile)); }
private static void RegisterStatementList(JassStatementListSyntax statementList, JassMapScriptAdapterContext context) { foreach (var statement in statementList.Statements) { RegisterStatement(statement, context); } }
private bool TryAdaptStatementList(JassMapScriptAdapterContext context, JassStatementListSyntax statementList, [NotNullWhen(true)] out JassStatementListSyntax?adaptedStatementList) { var isAdapted = false; var statementsBuilder = ImmutableArray.CreateBuilder <IStatementSyntax>(); foreach (var statement in statementList.Statements) { if (TryAdaptStatement(context, statement, out var adaptedStatement)) { statementsBuilder.Add(adaptedStatement); isAdapted = true; } else { statementsBuilder.Add(statement); } } if (isAdapted) { adaptedStatementList = new JassStatementListSyntax(statementsBuilder.ToImmutable()); return(true); } adaptedStatementList = null; return(false); }
public void Render(JassStatementListSyntax statementList) { foreach (var statement in statementList.Statements) { Render(statement); WriteLine(); } }
public static JassIfStatementSyntax IfStatement(IExpressionSyntax condition, JassStatementListSyntax body, IEnumerable <JassElseIfClauseSyntax> elseIfClauses, JassElseClauseSyntax elseClause) { return(new JassIfStatementSyntax( condition, body, elseIfClauses.ToImmutableArray(), elseClause)); }
public static JassIfStatementSyntax IfStatement(IExpressionSyntax condition, JassStatementListSyntax body, params JassElseIfClauseSyntax[] elseIfClauses) { return(new JassIfStatementSyntax( condition, body, elseIfClauses.ToImmutableArray(), null)); }
public static JassIfStatementSyntax IfStatement(IExpressionSyntax condition, JassStatementListSyntax body, JassElseClauseSyntax elseClause) { return(new JassIfStatementSyntax( condition, body, ImmutableArray.Create <JassElseIfClauseSyntax>(), elseClause)); }
public JassFunctionDeclarationSyntax(JassFunctionDeclaratorSyntax functionDeclarator, JassStatementListSyntax body) { FunctionDeclarator = functionDeclarator; Body = body; }
public JassElseIfStatementSyntax(IExpressionSyntax condition, JassStatementListSyntax body) { Condition = condition; Body = body; }
public static JassLoopStatementSyntax LoopStatement(JassStatementListSyntax body) { return(new JassLoopStatementSyntax(body)); }
public JassLoopStatementSyntax(JassStatementListSyntax body) { Body = body; }
public JassLoopStatementSyntax(params IStatementSyntax[] body) { Body = new JassStatementListSyntax(body); }
public IEnumerable <StatementSyntax> Transpile(JassStatementListSyntax statementList) { return(statementList.Statements.Select(Transpile)); }