public void Render(JassCallStatementSyntax callStatement) { Write($"{JassKeyword.Call} "); Render(callStatement.IdentifierName); Write(JassSymbol.LeftParenthesis); Render(callStatement.Arguments); Write(JassSymbol.RightParenthesis); }
private bool TryAdaptStatement(JassMapScriptAdapterContext context, IStatementSyntax statement, [NotNullWhen(true)] out IStatementSyntax?adaptedStatement) { return(statement switch { JassLocalVariableDeclarationStatementSyntax localVariableDeclarationStatement => TryAdaptLocalVariableDeclarationStatement(context, localVariableDeclarationStatement, out adaptedStatement), JassSetStatementSyntax setStatement => TryAdaptSetStatement(context, setStatement, out adaptedStatement), JassCallStatementSyntax callStatement => TryAdaptCallStatement(context, callStatement, out adaptedStatement), JassIfStatementSyntax ifStatement => TryAdaptIfStatement(context, ifStatement, out adaptedStatement), JassLoopStatementSyntax loopStatement => TryAdaptLoopStatement(context, loopStatement, out adaptedStatement), JassExitStatementSyntax exitStatement => TryAdaptExitStatement(context, exitStatement, out adaptedStatement), JassReturnStatementSyntax returnStatement => TryAdaptReturnStatement(context, returnStatement, out adaptedStatement), JassDebugStatementSyntax debugStatement => TryAdaptDebugStatement(context, debugStatement, out adaptedStatement), _ => TryAdaptDummy(context, statement, out adaptedStatement), });
public LuaStatementSyntax Transpile(IStatementSyntax statement) { return(statement switch { JassEmptyStatementSyntax emptyStatement => Transpile(emptyStatement), JassCommentStatementSyntax commentStatement => Transpile(commentStatement), JassLocalVariableDeclarationStatementSyntax localVariableDeclarationStatement => Transpile(localVariableDeclarationStatement), JassSetStatementSyntax setStatement => Transpile(setStatement), JassCallStatementSyntax callStatement => Transpile(callStatement), JassIfStatementSyntax ifStatement => Transpile(ifStatement), JassLoopStatementSyntax loopStatement => Transpile(loopStatement), JassExitStatementSyntax exitStatement => Transpile(exitStatement), JassReturnStatementSyntax returnStatement => Transpile(returnStatement), JassDebugStatementSyntax debugStatement => Transpile(debugStatement), });
private bool TryAdaptCallStatement(JassMapScriptAdapterContext context, JassCallStatementSyntax callStatement, [NotNullWhen(true)] out IStatementSyntax?adaptedCallStatement) { if (TryAdaptInvocation(context, callStatement, out var adaptedInvocationName, out var adaptedInvocationArguments)) { if (string.IsNullOrEmpty(adaptedInvocationName)) { adaptedCallStatement = new JassCommentSyntax(callStatement.ToString()); } else if (TryAdaptArgumentList(context, adaptedInvocationArguments, out var adaptedArguments)) { adaptedCallStatement = JassSyntaxFactory.CallStatement( adaptedInvocationName, adaptedArguments); } else { adaptedCallStatement = JassSyntaxFactory.CallStatement( adaptedInvocationName, adaptedInvocationArguments); } return(true); }
public StatementSyntax Transpile(JassCallStatementSyntax callStatement) { return(SyntaxFactory.ExpressionStatement(SyntaxFactory.InvocationExpression( SyntaxFactory.IdentifierName(Transpile(callStatement.IdentifierName)), Transpile(callStatement.Arguments)))); }
public LuaStatementSyntax Transpile(JassCallStatementSyntax callStatement) { return(new LuaInvocationExpressionSyntax(Transpile(callStatement.IdentifierName), Transpile(callStatement.Arguments))); }