コード例 #1
0
 public virtual void VisitNewArrayExpression <TTypeReference, TExpression>(
     INewArrayExpression <TTypeReference, TExpression> newArrayExpression)
     where TTypeReference : ITypeReference
     where TExpression : IExpression
 {
     Visit(newArrayExpression);
 }
コード例 #2
0
        public override void VisitNewArrayExpression <TTypeReference, TExpression>(
            INewArrayExpression <TTypeReference, TExpression> newArrayExpression)
        {
            Steps.Add(new WriteNewKeyword());
            bool hasInitialSizeExpressions = newArrayExpression.InitialSizeExpressions.Count != 0;
            int  dimensionsLength          = newArrayExpression.Dimensions.Count;

            if (hasInitialSizeExpressions)
            {
                dimensionsLength--;
            }

            for (int index = 0; index < dimensionsLength; index++)
            {
                Steps.Add(new WriteStartBracket());
                for (int commaCount = 0; commaCount < newArrayExpression.Dimensions[index] - 1; commaCount++)
                {
                    Steps.Add(new WriteComma());
                }

                Steps.Add(new WriteEndBracket());
            }

            if (hasInitialSizeExpressions)
            {
                Steps.Add(new WriteStartBracket());
                Steps.AddCommaSeparatedExpressionSteps(newArrayExpression.InitialSizeExpressions);
                Steps.Add(new WriteEndBracket());
            }
        }
コード例 #3
0
 public static void VisitNewArrayExpressionChildren<TTypeReference, TExpression>(
     INewArrayExpression<TTypeReference, TExpression> newArrayExpression,
     IGenericExpressionVisitor visitor)
     where TTypeReference : ITypeReference
     where TExpression : IExpression
 {
     VisitCollection(newArrayExpression.InitialSizeExpressions, visitor);
 }
コード例 #4
0
 public override void VisitNewArrayExpression <TTypeReference, TExpression>(
     INewArrayExpression <TTypeReference, TExpression> newArrayExpression)
 {
     Value = new Expression()
     {
         NewArrayExpression = new NewArrayExpressionFactory(newArrayExpression).Value
     };
 }