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)); }
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)); }