-
Notifications
You must be signed in to change notification settings - Fork 231
Expand file tree
/
Copy pathExpressionContainer.cs
More file actions
52 lines (43 loc) · 1.53 KB
/
ExpressionContainer.cs
File metadata and controls
52 lines (43 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System.Activities.XamlIntegration;
using System.Collections.Generic;
using System.Reflection;
using Microsoft.CodeAnalysis;
namespace System.Activities;
/// <summary>
/// Contains all the relevant information regarding the validation of an expression.
/// </summary>
public class ExpressionContainer
{
/// <summary>
/// The type returned from the expression.
/// </summary>
public Type ResultType { get; set; }
/// <summary>
/// The current compilation object.
/// </summary>
public Compilation CompilationUnit { get; set; }
/// <summary>
/// Expression text, imported namespaces, and variable type getter function.
/// </summary>
public ExpressionToCompile ExpressionToValidate { get; set; }
/// <summary>
/// Activity that owns the expression.
/// </summary>
public Activity CurrentActivity { get; set; }
/// <summary>
/// LRE to contain the in-scope identifiers.
/// </summary>
public LocationReferenceEnvironment Environment { get; set; }
/// <summary>
/// Assemblies required to validate the expression.
/// </summary>
public ICollection<Assembly> RequiredAssemblies { get; set; }
/// <summary>
/// Diagnostics reported by validating the expression.
/// </summary>
public IEnumerable<TextExpressionCompilerError> Diagnostics { get; set; }
/// <summary>
/// populated before CreateValidationCode step
/// </summary>
public (string Name, Type Type)[] ResolvedIdentifiers { get; set; }
}