コード例 #1
0
 public void Render(JassFunctionDeclaratorSyntax functionDeclarator)
 {
     Render(functionDeclarator.IdentifierName);
     Write($" {JassKeyword.Takes} ");
     Render(functionDeclarator.ParameterList);
     Write($" {JassKeyword.Returns} ");
     Render(functionDeclarator.ReturnType);
 }
コード例 #2
0
        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);
        }
コード例 #3
0
 public JassFunctionDeclarationSyntax(JassFunctionDeclaratorSyntax functionDeclarator, JassStatementListSyntax body)
 {
     FunctionDeclarator = functionDeclarator;
     Body = body;
 }
コード例 #4
0
 public static JassFunctionDeclarationSyntax FunctionDeclaration(JassFunctionDeclaratorSyntax functionDeclarator, params IStatementSyntax[] statements)
 {
     return(new JassFunctionDeclarationSyntax(functionDeclarator, StatementList(statements)));
 }
コード例 #5
0
 public static JassFunctionDeclarationSyntax FunctionDeclaration(JassFunctionDeclaratorSyntax functionDeclarator, IEnumerable <IStatementSyntax> statements)
 {
     return(new JassFunctionDeclarationSyntax(functionDeclarator, StatementList(statements)));
 }
コード例 #6
0
 public JassFunctionCustomScriptAction(JassFunctionDeclaratorSyntax functionDeclarator)
 {
     FunctionDeclarator = functionDeclarator;
 }
コード例 #7
0
 private void RegisterFunctionReturnType(JassFunctionDeclaratorSyntax functionDeclarator)
 {
     _functionReturnTypes.Add(functionDeclarator.IdentifierName.Name, functionDeclarator.ReturnType);
 }
コード例 #8
0
 public JassNativeFunctionDeclarationSyntax(JassFunctionDeclaratorSyntax functionDeclarator)
 {
     FunctionDeclarator = functionDeclarator;
 }