private static TypeSymbol SubstituteAllTypeParameters(AbstractTypeMap substitution, TypeSymbol type) { if (substitution != null) { TypeSymbol previous; do { previous = type; type = substitution.SubstituteType(type); } while (type != previous); } return(type); }
private static TypeSymbolWithAnnotations SubstituteAllTypeParameters(AbstractTypeMap substitution, TypeSymbolWithAnnotations type) { if (substitution != null) { TypeSymbolWithAnnotations previous; do { previous = type; type = type.SubstituteType(substitution); } while (!type.IsSameAs(previous)); } return(type); }
private static TypeWithModifiers SubstituteAllTypeParameters(AbstractTypeMap substitution, TypeWithModifiers type) { if (substitution != null) { TypeWithModifiers previous; do { previous = type; type = type.SubstituteType(substitution); } while (type != previous); } return(type); }