2 types derived from GenericExpressionNode
Microsoft.Build (2)
Evaluation\Conditionals\OperandExpressionNode.cs (1)
9internal abstract class OperandExpressionNode : GenericExpressionNode
Evaluation\Conditionals\OperatorExpressionNode.cs (1)
13internal abstract class OperatorExpressionNode : GenericExpressionNode
45 references to GenericExpressionNode
Microsoft.Build (45)
Evaluation\Conditionals\FunctionCallExpressionNode.cs (4)
21private readonly List<GenericExpressionNode> _arguments; 24internal FunctionCallExpressionNode(string functionName, List<GenericExpressionNode> arguments) 115private static string ExpandArgumentForScalarParameter(string function, GenericExpressionNode argumentNode, ConditionEvaluator.IConditionEvaluationState state, 150private List<string> ExpandArgumentAsFileList(GenericExpressionNode argumentNode, ConditionEvaluator.IConditionEvaluationState state, bool isFilePath = true)
Evaluation\Conditionals\NotExpressionNode.cs (1)
42/// <inheritdoc cref="GenericExpressionNode"/>
Evaluation\Conditionals\NumericExpressionNode.cs (1)
40/// <inheritdoc cref="GenericExpressionNode"/>
Evaluation\Conditionals\OperatorExpressionNode.cs (3)
44/// <inheritdoc cref="GenericExpressionNode"/> 71internal GenericExpressionNode LeftChild { set; get; } 76internal GenericExpressionNode RightChild { set; get; }
Evaluation\Conditionals\Parser.cs (24)
98internal GenericExpressionNode Parse(string expression, ParserOptions optionSettings, ElementLocation elementLocation) 113GenericExpressionNode node = Expr(expression); 127private GenericExpressionNode Expr(string expression) 129GenericExpressionNode node = BooleanTerm(expression); 152private GenericExpressionNode ExprPrime(string expression, GenericExpressionNode lhs) 161GenericExpressionNode rhs = BooleanTerm(expression); 175private GenericExpressionNode BooleanTerm(string expression) 177GenericExpressionNode node = RelationalExpr(expression); 191private GenericExpressionNode BooleanTermPrime(string expression, GenericExpressionNode lhs) 199GenericExpressionNode rhs = RelationalExpr(expression); 218private GenericExpressionNode RelationalExpr(string expression) 221GenericExpressionNode lhs = Factor(expression); 233GenericExpressionNode rhs = Factor(expression); 270private GenericExpressionNode Factor(string expression) 273GenericExpressionNode arg = this.Arg(expression); 291var arglist = new List<GenericExpressionNode>(); 303GenericExpressionNode child = Expr(expression); 317GenericExpressionNode expr = Factor(expression); 334private void Arglist(string expression, List<GenericExpressionNode> arglist) 342private void Args(string expression, List<GenericExpressionNode> arglist) 344GenericExpressionNode arg = Arg(expression); 352private GenericExpressionNode Arg(string expression)
Evaluation\Conditionals\StringExpressionNode.cs (1)
119/// <inheritdoc cref="GenericExpressionNode"/>
Evaluation\ConditionEvaluator.cs (11)
141private readonly ConcurrentDictionary<string, Stack<GenericExpressionNode>> _conditionPools; 146public ExpressionTreeForCurrentOptionsWithSize(ConcurrentDictionary<string, Stack<GenericExpressionNode>> conditionPools) 152public Stack<GenericExpressionNode> GetOrAdd(string condition, Func<string, Stack<GenericExpressionNode>> addFunc) 154if (!_conditionPools.TryGetValue(condition, out Stack<GenericExpressionNode>? stack)) 243_ => new ExpressionTreeForCurrentOptionsWithSize(new ConcurrentDictionary<string, Stack<GenericExpressionNode>>(StringComparer.Ordinal))); 248Stack<GenericExpressionNode> expressionPool = cachedExpressionTreesForCurrentOptions.GetOrAdd(condition, _ => new Stack<GenericExpressionNode>()); 254GenericExpressionNode parsedExpression; 327new ConcurrentDictionary<string, Stack<GenericExpressionNode>>(StringComparer.Ordinal)), 334new ConcurrentDictionary<string, Stack<GenericExpressionNode>>(StringComparer.Ordinal));