예제 #1
0
        public override Ust VisitMemberAccessExpression(MemberAccessExpressionSyntax node)
        {
            var        name = ConvertId(node.Name.Identifier);
            Expression result;

            if (node.Expression is ElementBindingExpressionSyntax)
            {
                var args = (ArgsUst)VisitElementBindingExpression((ElementBindingExpressionSyntax)node.Expression);
                result = new IndexerExpression(name, args, args.TextSpan);
            }
            else
            {
                var target = (Expression)base.Visit(node.Expression);
                result = new MemberReferenceExpression(target, name, node.GetTextSpan());
            }

            return(result);
        }