상속: ICSharpCode.NRefactory.Visitors.AbstractAstVisitor
예제 #1
0
        public override void VisitQuerySelectClause(QuerySelectClause querySelectClause)
        {
            var visitor = new CaptureSelectNewFieldNamesVisitor();
            querySelectClause.AcceptVisitor(visitor, null);

            indexData.SelectExpressions = visitor.SelectExpressions;
            indexData.NumberOfSelectClauses++;
        }
예제 #2
0
        public override void VisitQuerySelectClause(QuerySelectClause querySelectClause)
        {
            var selectExpressions = new Dictionary<string, Expression>();
            var visitor = new CaptureSelectNewFieldNamesVisitor(false, new HashSet<string>(), selectExpressions);
            querySelectClause.AcceptVisitor(visitor, null);

            indexData.SelectExpressions = selectExpressions;
            indexData.NumberOfSelectClauses++;
        }
예제 #3
0
        public override void VisitInvocationExpression(InvocationExpression invocationExpression)
        {
            base.VisitInvocationExpression(invocationExpression);

            var visitor = new CaptureSelectNewFieldNamesVisitor();
            invocationExpression.AcceptVisitor(visitor, null);

            var memberReferenceExpression = invocationExpression.Target as MemberReferenceExpression;

            if (memberReferenceExpression == null)
            {

                base.VisitInvocationExpression(invocationExpression);
                return;
            }

            if (memberReferenceExpression.MemberName == "Where")
                indexData.HasWhere = true;

            indexData.SelectExpressions = visitor.SelectExpressions;
        }
예제 #4
0
        public override void VisitInvocationExpression(InvocationExpression invocationExpression)
        {
            base.VisitInvocationExpression(invocationExpression);

            var selectExpressions = new Dictionary<string, Expression>();
            var visitor = new CaptureSelectNewFieldNamesVisitor(false, new HashSet<string>(), selectExpressions);
            invocationExpression.AcceptVisitor(visitor, null);

            var memberReferenceExpression = invocationExpression.Target as MemberReferenceExpression;

            if (memberReferenceExpression == null)
            {

                base.VisitInvocationExpression(invocationExpression);
                return;
            }

            if (memberReferenceExpression.MemberName == "Where")
                indexData.HasWhere = true;

            indexData.SelectExpressions = selectExpressions;
        }