/// <summary> /// Called by <see cref="AbstractTypeMap.SubstituteType"/> to perform substitution /// on types with TypeKind ErrorType. The general pattern is to use the type map /// to perform substitution on the wrapped type, if any, and then construct a new /// error type symbol from the result (if there was a change). /// </summary> internal virtual TypeWithModifiers Substitute(AbstractTypeMap typeMap) { return(new TypeWithModifiers((ErrorTypeSymbol)typeMap.SubstituteNamedType(this))); }
/// <summary> /// Called by <see cref="AbstractTypeMap.SubstituteType"/> to perform substitution /// on types with TypeKind ErrorType. The general pattern is to use the type map /// to perform substitution on the wrapped type, if any, and then construct a new /// error type symbol from the result (if there was a change). /// </summary> internal virtual ErrorTypeSymbol Substitute(AbstractTypeMap typeMap) { return((ErrorTypeSymbol)typeMap.SubstituteNamedType(this)); }
/// <summary> /// Called by <see cref="AbstractTypeMap.SubstituteType(TypeSymbol)"/> to perform substitution /// on types with TypeKind ErrorType. The general pattern is to use the type map /// to perform substitution on the wrapped type, if any, and then construct a new /// error type symbol from the result (if there was a change). /// </summary> internal TypeSymbolWithAnnotations Substitute(AbstractTypeMap typeMap) { return(TypeSymbolWithAnnotations.Create(typeMap.SubstituteNamedType(this))); }
/// <summary> /// Called by <see cref="AbstractTypeMap.SubstituteType(TypeSymbol)"/> to perform substitution /// on types with TypeKind ErrorType. The general pattern is to use the type map /// to perform substitution on the wrapped type, if any, and then construct a new /// error type symbol from the result (if there was a change). /// </summary> internal TypeSymbolWithAnnotations Substitute(AbstractTypeMap typeMap) { return(TypeSymbolWithAnnotations.Create(NonNullTypesNullContext.Instance, (ErrorTypeSymbol)typeMap.SubstituteNamedType(this))); }