71 references to Operators
Microsoft.TemplateEngine.Core (71)
Expressions\Cpp2\Cpp2StyleEvaluatorDefinition.cs (1)
52protected override IOperatorMap<Operators, Tokens> GenerateMap() => new OperatorSetBuilder<Tokens>(CppStyleConverters.Encode, CppStyleConverters.Decode)
Expressions\MSBuild\MSBuildStyleEvaluatorDefinition.cs (1)
42protected override IOperatorMap<Operators, Tokens> GenerateMap() => new OperatorSetBuilder<Tokens>(XmlStyleConverters.XmlEncode, XmlStyleConverters.XmlDecode)
Expressions\OperatorSetBuilder.cs (65)
6public class OperatorSetBuilder<TToken> : IOperatorMap<Operators, TToken> 11private readonly Dictionary<Operators, Func<IEvaluable, IEvaluable>> _operatorScopeLookupFactory = new Dictionary<Operators, Func<IEvaluable, IEvaluable>>(); 12private readonly Dictionary<TToken, Operators> _tokensToOperatorsMap = new Dictionary<TToken, Operators>(); 33public Operators Identity => Operators.Identity; 43public IReadOnlyDictionary<Operators, Func<IEvaluable, IEvaluable>> OperatorScopeLookupFactory => _operatorScopeLookupFactory; 47public IReadOnlyDictionary<TToken, Operators> TokensToOperatorsMap => _tokensToOperatorsMap; 49public OperatorSetBuilder<TToken> Add(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 51return SetupBinary(Operators.Add, token, evaluate ?? Add, precedesOperator); 54public OperatorSetBuilder<TToken> And(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 56return SetupBinary(Operators.And, token, evaluate ?? And, precedesOperator); 65public OperatorSetBuilder<TToken> BitwiseAnd(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 67return SetupBinary(Operators.BitwiseAnd, token, evaluate ?? BitwiseAnd, precedesOperator); 70public OperatorSetBuilder<TToken> BitwiseOr(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 72return SetupBinary(Operators.BitwiseOr, token, evaluate ?? BitwiseOr, precedesOperator); 86public OperatorSetBuilder<TToken> Divide(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 88return SetupBinary(Operators.Divide, token, evaluate ?? Divide, precedesOperator); 96public OperatorSetBuilder<TToken> EqualTo(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 98return SetupBinary(Operators.EqualTo, token, evaluate ?? EqualTo, precedesOperator); 101public OperatorSetBuilder<TToken> Exponentiate(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 103return SetupBinary(Operators.Exponentiate, token, evaluate ?? Exponentiate, precedesOperator); 106public OperatorSetBuilder<TToken> GreaterThan(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 108return SetupBinary(Operators.GreaterThan, token, evaluate ?? GreaterThan, precedesOperator); 111public OperatorSetBuilder<TToken> GreaterThanOrEqualTo(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 113return SetupBinary(Operators.GreaterThanOrEqualTo, token, evaluate ?? GreaterThanOrEqualTo, precedesOperator); 122public OperatorSetBuilder<TToken> LeftShift(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 124return SetupBinary(Operators.LeftShift, token, evaluate ?? LeftShift, precedesOperator); 127public OperatorSetBuilder<TToken> LessThan(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 129return SetupBinary(Operators.LessThan, token, evaluate ?? LessThan, precedesOperator); 132public OperatorSetBuilder<TToken> LessThanOrEqualTo(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 134return SetupBinary(Operators.LessThanOrEqualTo, token, evaluate ?? LessThanOrEqualTo, precedesOperator); 149public OperatorSetBuilder<TToken> Multiply(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 151return SetupBinary(Operators.Multiply, token, evaluate ?? Multiply, precedesOperator); 154public OperatorSetBuilder<TToken> Not(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object>? evaluate = null) 156_operatorScopeLookupFactory[Operators.Not] = 157x => CreateUnaryChild(x, Operators.Not, evaluate ?? Not); 158_tokensToOperatorsMap[token] = Operators.Not; 162public OperatorSetBuilder<TToken> NotEqualTo(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 164return SetupBinary(Operators.NotEqualTo, token, evaluate ?? NotEqualTo, precedesOperator); 173public OperatorSetBuilder<TToken> Or(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 175return SetupBinary(Operators.Or, token, evaluate ?? Or, precedesOperator); 178public OperatorSetBuilder<TToken> Other(Operators @operator, TToken token, Func<IEvaluable, IEvaluable> nodeFactory) 185public OperatorSetBuilder<TToken> RightShift(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 187return SetupBinary(Operators.RightShift, token, evaluate ?? RightShift, precedesOperator); 190public OperatorSetBuilder<TToken> Subtract(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 192return SetupBinary(Operators.Subtract, token, evaluate ?? Subtract, precedesOperator); 213public OperatorSetBuilder<TToken> Xor(TToken token, Func<Operators, bool>? precedesOperator = null, Func<object?, object?, object>? evaluate = null) 215return SetupBinary(Operators.Xor, token, evaluate ?? Xor, precedesOperator); 218private static IEvaluable CreateBinaryChild(IEvaluable active, Operators op, Func<Operators, bool> precedesOperator, Func<object?, object?, object> evaluate) 220BinaryScope<Operators> self; 225if (active is BinaryScope<Operators> left && precedesOperator(left.Operator)) 227self = new BinaryScope<Operators>(active, op, evaluate) 239self = new BinaryScope<Operators>(active.Parent, op, evaluate); 245case UnaryScope<Operators> unary: 248case BinaryScope<Operators> binary: 266private static IEvaluable CreateUnaryChild(IEvaluable active, Operators op, Func<object?, object> evaluate) 268UnaryScope<Operators> self = new UnaryScope<Operators>(active, op, evaluate); 311private static bool Precedes(Operators check, Operators arg) 528private OperatorSetBuilder<TToken> SetupBinary(Operators op, TToken token, Func<object?, object?, object> evaluate, Func<Operators, bool>? precedesOperator = null)
Expressions\Shared\SharedEvaluatorDefinition.cs (3)
18private static readonly IOperatorMap<Operators, TTokens> Map = Instance.GenerateMap(); 116protected abstract IOperatorMap<Operators, TTokens> GenerateMap(); 129ScopeBuilder<Operators, TTokens> builder = processor.ScopeBuilder(tokens, Map, DereferenceInLiteralsSetting);
Expressions\VisualBasic\VisualBasicStyleEvaluatorDefintion.cs (1)
52protected override IOperatorMap<Operators, Tokens> GenerateMap() => new OperatorSetBuilder<Tokens>(CppStyleConverters.Encode, CppStyleConverters.Decode)