ISemanticFactsService.cs 2.7 KB
Newer Older
J
Jonathon Marolf 已提交
1 2 3
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
P
Pilchie 已提交
4

5
using System;
C
CyrusNajmabadi 已提交
6
using System.Collections.Generic;
P
Pilchie 已提交
7
using System.Threading;
8
using Microsoft.CodeAnalysis.Host;
P
Pilchie 已提交
9 10 11

namespace Microsoft.CodeAnalysis.LanguageServices
{
12
    internal interface ISemanticFactsService : ISemanticFacts, ILanguageService
P
Pilchie 已提交
13 14 15 16 17
    {
        bool IsExpressionContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
        bool IsStatementContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
        bool IsTypeContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
        bool IsNamespaceContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
18
        bool IsNamespaceDeclarationNameContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
P
Pilchie 已提交
19 20 21 22 23 24
        bool IsTypeDeclarationContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
        bool IsMemberDeclarationContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
        bool IsGlobalStatementContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
        bool IsLabelContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);
        bool IsAttributeNameContext(SemanticModel semanticModel, int position, CancellationToken cancellationToken);

25 26
        bool IsInExpressionTree(SemanticModel semanticModel, SyntaxNode node, INamedTypeSymbol expressionTypeOpt, CancellationToken cancellationToken);

C
Cyrus Najmabadi 已提交
27
        SyntaxToken GenerateUniqueName(
D
dotnet-bot 已提交
28
            SemanticModel semanticModel, SyntaxNode location,
C
Cyrus Najmabadi 已提交
29
            SyntaxNode containerOpt, string baseName, CancellationToken cancellationToken);
30

I
Ivan Basov 已提交
31 32 33 34
        SyntaxToken GenerateUniqueName(
            SemanticModel semanticModel, SyntaxNode location,
            SyntaxNode containerOpt, string baseName, IEnumerable<string> usedNames, CancellationToken cancellationToken);

35 36
        SyntaxToken GenerateUniqueName(SemanticModel semanticModel, SyntaxNode location, SyntaxNode containerOpt, string baseName,
            Func<ISymbol, bool> filter, IEnumerable<string> usedNames, CancellationToken cancellationToken);
37

38 39 40
        SyntaxToken GenerateUniqueLocalName(
            SemanticModel semanticModel, SyntaxNode location,
            SyntaxNode containerOpt, string baseName, CancellationToken cancellationToken);
41

42
        SyntaxToken GenerateUniqueName(string baseName, IEnumerable<string> usedNames);
P
Pilchie 已提交
43
    }
S
Sam Harwell 已提交
44
}