1 write to expression
Microsoft.Build (1)
Evaluation\ExpressionShredder.cs (1)
113this.expression = expression;
23 references to expression
Microsoft.Build (23)
Evaluation\ExpressionShredder.cs (23)
129if (!Sink(expression, ref currentIndex, end, '@', '(')) 143SinkWhitespace(expression, ref currentIndex); 147if (!SinkValidName(expression, ref currentIndex, end)) 156if (end > currentIndex && expression[currentIndex - 1] == '-' && expression[currentIndex] == '>') 163string itemName = Microsoft.NET.StringTools.Strings.WeakIntern(expression.AsSpan(startOfName, currentIndex - startOfName)); 165SinkWhitespace(expression, ref currentIndex); 170while (Sink(expression, ref currentIndex, end, '-', '>') && transformOrFunctionFound) 172SinkWhitespace(expression, ref currentIndex); 175bool isQuotedTransform = SinkSingleQuotedExpression(expression, ref currentIndex, end); 186transformExpressions.Add(new ItemExpressionCapture(startQuoted, endQuoted - startQuoted, expression.Substring(startQuoted, endQuoted - startQuoted))); 187SinkWhitespace(expression, ref currentIndex); 192ItemExpressionCapture? functionCapture = SinkItemFunctionExpression(expression, startTransform, ref currentIndex, end); 202SinkWhitespace(expression, ref currentIndex); 218SinkWhitespace(expression, ref currentIndex); 224if (Sink(expression, ref currentIndex, ',')) 226SinkWhitespace(expression, ref currentIndex); 228if (!Sink(expression, ref currentIndex, '\'')) 234int closingQuote = expression.IndexOf('\'', currentIndex); 242separator = expression.Substring(currentIndex, closingQuote - currentIndex); 247SinkWhitespace(expression, ref currentIndex); 249if (!Sink(expression, ref currentIndex, ')')) 261ItemExpressionCapture expressionCapture = new ItemExpressionCapture(startPoint, endPoint - startPoint, Microsoft.NET.StringTools.Strings.WeakIntern(expression.AsSpan(startPoint, endPoint - startPoint)), itemName, separator, separatorStart, transformExpressions);