public void Render(JassFunctionDeclaratorSyntax functionDeclarator) { Render(functionDeclarator.IdentifierName); Write($" {JassKeyword.Takes} "); Render(functionDeclarator.ParameterList); Write($" {JassKeyword.Returns} "); Render(functionDeclarator.ReturnType); }
private bool TryAdaptFunctionDeclarator(JassMapScriptAdapterContext context, JassFunctionDeclaratorSyntax functionDeclarator, [NotNullWhen(true)] out JassFunctionDeclaratorSyntax?adaptedFunctionDeclarator) { if (!context.KnownFunctions.TryAdd( functionDeclarator.IdentifierName.Name, functionDeclarator.ParameterList.Parameters.Select(parameter => parameter.Type.TypeName.Name).ToArray())) { context.Diagnostics.Add($"Duplicate function '{functionDeclarator.IdentifierName}'."); } adaptedFunctionDeclarator = null; return(false); }
public JassFunctionDeclarationSyntax(JassFunctionDeclaratorSyntax functionDeclarator, JassStatementListSyntax body) { FunctionDeclarator = functionDeclarator; Body = body; }
public static JassFunctionDeclarationSyntax FunctionDeclaration(JassFunctionDeclaratorSyntax functionDeclarator, params IStatementSyntax[] statements) { return(new JassFunctionDeclarationSyntax(functionDeclarator, StatementList(statements))); }
public static JassFunctionDeclarationSyntax FunctionDeclaration(JassFunctionDeclaratorSyntax functionDeclarator, IEnumerable <IStatementSyntax> statements) { return(new JassFunctionDeclarationSyntax(functionDeclarator, StatementList(statements))); }
public JassFunctionCustomScriptAction(JassFunctionDeclaratorSyntax functionDeclarator) { FunctionDeclarator = functionDeclarator; }
private void RegisterFunctionReturnType(JassFunctionDeclaratorSyntax functionDeclarator) { _functionReturnTypes.Add(functionDeclarator.IdentifierName.Name, functionDeclarator.ReturnType); }
public JassNativeFunctionDeclarationSyntax(JassFunctionDeclaratorSyntax functionDeclarator) { FunctionDeclarator = functionDeclarator; }