コード例 #1
0
            public override Expression VisitMemberAccessExpression(MemberAccessExpressionSyntax node)
            {
                if (node.Expression is ThisExpressionSyntax)
                {
                    // ThisExpressions can simply be truncated as shadowing is prevented with the semantic checks.
                    return(node.Name.Accept(this));
                }

                if (!node.IsSafeFieldAccess(_semanticModel))
                {
                    throw new UnsupportedSyntaxException(node);
                }

                // TODO maybe something more suitable. A variable expression is not possible as a later check may not resolve the associated symbol.
                return(new GenericLiteralExpression());
            }