public StringBuilder VisitArray(InsArrayType type, StringBuilder builder)
            {
                type.ElementType.Apply(this, builder).Append('[');

                if (type.Rank == 1)
                {
                    builder.Append('*');
                }
                else
                {
                    builder.Append(',', type.Rank - 1);
                }

                return(builder.Append(']'));
            }
예제 #2
0
        public virtual InsType VisitArray(InsArrayType type, TArgument argument)
        {
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            var elementType = type.ElementType.Apply(this, argument);

            if (elementType == type.ElementType)
            {
                return(type);
            }

            return(new InsArrayType(elementType, type.Rank));
        }
 public InsAssembly?VisitArray(InsArrayType type, object argument) => type.ElementType.Apply(this, argument);