예제 #1
0
            public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
            {
                var elementType = symbol.ElementType.Accept(this);

                if (elementType != null && elementType.Equals(symbol.ElementType))
                {
                    return(symbol);
                }

                return(typeGenerator.CreateArrayTypeSymbol(elementType, symbol.Rank));
            }
예제 #2
0
            public override ITypeSymbol VisitArrayType(IArrayTypeSymbol symbol)
            {
                var mapped = VisitType(symbol);

                if (mapped != symbol)
                {
                    return(mapped);
                }

                var elementType = symbol.ElementType.Accept(this);

                if (elementType != null && elementType.Equals(symbol.ElementType))
                {
                    return(symbol);
                }

                return(_typeGenerator.CreateArrayTypeSymbol(elementType));
            }