mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
54 lines
1.4 KiB
C#
54 lines
1.4 KiB
C#
using Microsoft.CodeAnalysis;
|
|
using Semmle.Extraction.Kinds;
|
|
|
|
namespace Semmle.Extraction.CSharp.Entities
|
|
{
|
|
/// <summary>
|
|
/// Holds all information required to create an Expression entity.
|
|
/// </summary>
|
|
internal interface IExpressionInfo
|
|
{
|
|
Context Context { get; }
|
|
|
|
/// <summary>
|
|
/// The type of the expression.
|
|
/// </summary>
|
|
AnnotatedTypeSymbol? Type { get; }
|
|
|
|
/// <summary>
|
|
/// The location of the expression.
|
|
/// </summary>
|
|
Extraction.Entities.Location Location { get; }
|
|
|
|
/// <summary>
|
|
/// The kind of the expression.
|
|
/// </summary>
|
|
ExprKind Kind { get; }
|
|
|
|
/// <summary>
|
|
/// The parent of the expression.
|
|
/// </summary>
|
|
IExpressionParentEntity Parent { get; }
|
|
|
|
/// <summary>
|
|
/// The child index of the expression.
|
|
/// </summary>
|
|
int Child { get; }
|
|
|
|
/// <summary>
|
|
/// Holds if this is an implicit expression.
|
|
/// </summary>
|
|
bool IsCompilerGenerated { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a string representation of the value.
|
|
/// null is encoded as the string "null".
|
|
/// If the expression does not have a value, then this
|
|
/// is null.
|
|
/// </summary>
|
|
string? ExprValue { get; }
|
|
|
|
NullableFlowState FlowState { get; }
|
|
}
|
|
}
|