Beispiel #1
0
            public static PathWalker Borrow(ExpressionSyntax node)
            {
                var walker = BorrowAndVisit(node, () => new PathWalker());

                if (walker.identifierNames.TryFirst(out var first))
                {
                    if (IdentifierTypeWalker.IsLocalOrParameter(first))
                    {
                        walker.identifierNames.Clear();
                    }
                }

                return(walker);
            }
        private static bool TryGetAssignedExpression(ITypeSymbol containingType, SyntaxNode node, out ExpressionSyntax backing)
        {
            backing = null;
            if (node.IsMissing)
            {
                return(false);
            }

            if (node is IdentifierNameSyntax identifierName &&
                !IdentifierTypeWalker.IsLocalOrParameter(identifierName) &&
                !containingType.TryFindProperty(identifierName.Identifier.ValueText, out _))
            {
                backing = identifierName;
            }