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