3 implementations of IEvaluable
Microsoft.TemplateEngine.Core (3)
Expressions\BinaryScope.cs (1)
6
public class BinaryScope<TOperator> :
IEvaluable
Expressions\TokenScope.cs (1)
6
public class TokenScope<TToken> :
IEvaluable
Expressions\UnaryScope.cs (1)
6
public class UnaryScope<TOperator> :
IEvaluable
40 references to IEvaluable
Microsoft.TemplateEngine.Core (40)
Expressions\BinaryScope.cs (5)
10
public BinaryScope(
IEvaluable
? parent, TOperator @operator, Func<object?, object?, object> evaluate)
21
public
IEvaluable
? Left { get; set; }
25
public
IEvaluable
? Parent { get; set; }
27
public
IEvaluable
? Right { get; set; }
41
public bool TryAccept(
IEvaluable
? child)
Expressions\IEvaluable.cs (2)
12
IEvaluable
? Parent { get; set; }
16
bool TryAccept(
IEvaluable
? child);
Expressions\IOperatorMap.cs (2)
23
IReadOnlyDictionary<TOperator, Func<
IEvaluable
,
IEvaluable
>> OperatorScopeLookupFactory { get; }
Expressions\OperatorSetBuilder.cs (12)
11
private readonly Dictionary<Operators, Func<
IEvaluable
,
IEvaluable
>> _operatorScopeLookupFactory = new Dictionary<Operators, Func<
IEvaluable
,
IEvaluable
>>();
43
public IReadOnlyDictionary<Operators, Func<
IEvaluable
,
IEvaluable
>> OperatorScopeLookupFactory => _operatorScopeLookupFactory;
178
public OperatorSetBuilder<TToken> Other(Operators @operator, TToken token, Func<
IEvaluable
,
IEvaluable
> nodeFactory)
218
private static
IEvaluable
CreateBinaryChild(
IEvaluable
active, Operators op, Func<Operators, bool> precedesOperator, Func<object?, object?, object> evaluate)
266
private static
IEvaluable
CreateUnaryChild(
IEvaluable
active, Operators op, Func<object?, object> evaluate)
Expressions\ScopeBuilder.cs (9)
22
private readonly IReadOnlyDictionary<TOperator, Func<
IEvaluable
,
IEvaluable
>> _operatorScopeFactory;
77
public
IEvaluable
? Build(ref int bufferLength, ref int bufferPosition, Action<IReadOnlyList<byte>> onFault, HashSet<string>? referencedVariablesKeys = null)
261
if (_operatorScopeFactory.TryGetValue(op, out Func<
IEvaluable
,
IEvaluable
> factory))
263
IEvaluable
oldActive = isolator.Active;
282
IEvaluable
? parent = isolator.Active.Parent;
333
public
IEvaluable
? Active { get; set; }
335
public
IEvaluable
? Root { get; set; }
Expressions\Shared\SharedEvaluatorDefinition.cs (3)
78
public static
IEvaluable
? GetEvaluableExpression(
120
private static
IEvaluable
? GetEvaluableExpression(
151
IEvaluable
? expression = GetEvaluableExpression(
Expressions\TokenScope.cs (3)
8
public TokenScope(
IEvaluable
parent, Token<TToken> token)
20
public
IEvaluable
? Parent { get; set; }
34
public bool TryAccept(
IEvaluable
? child) => false;
Expressions\UnaryScope.cs (4)
10
public UnaryScope(
IEvaluable
? parent, TOperator @operator, Func<object?, object?> evaluate)
21
public
IEvaluable
? Operand { get; set; }
25
public
IEvaluable
? Parent { get; set; }
38
public bool TryAccept(
IEvaluable
? child)