Files
codeql/csharp/extractor/Semmle.Extraction/AssemblyScope.cs
2021-02-15 10:17:07 +01:00

26 lines
721 B
C#

using Microsoft.CodeAnalysis;
namespace Semmle.Extraction
{
/// <summary>
/// The scope of symbols in an assembly.
/// </summary>
public class AssemblyScope : IExtractionScope
{
private readonly IAssemblySymbol assembly;
private readonly string filepath;
public AssemblyScope(IAssemblySymbol symbol, string path)
{
assembly = symbol;
filepath = path;
}
public bool InFileScope(string path) => path == filepath;
public bool InScope(ISymbol symbol) =>
SymbolEqualityComparer.Default.Equals(symbol.ContainingAssembly, assembly) ||
SymbolEqualityComparer.Default.Equals(symbol, assembly);
}
}