| File: Compilation\OverloadResolutionResult.vb | Web Access |
| Project: src\roslyn\src\Compilers\VisualBasic\Portable\Microsoft.CodeAnalysis.VisualBasic.vbproj (Microsoft.CodeAnalysis.VisualBasic) |
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports System.Collections.Concurrent Imports System.Collections.Generic Imports System.Collections.Immutable Imports System.Collections.ObjectModel Imports System.IO Imports System.Threading Imports Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.VisualBasic.Symbols Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic ''' <summary> ''' Summarizes the results of an overload resolution analysis. Describes whether overload resolution ''' succeeded, and which method was selected if overload resolution succeeded. ''' </summary> Friend Class OverloadResolutionResult(Of TMember As Symbol) Private ReadOnly _validResult As MemberResolutionResult(Of TMember)? Private ReadOnly _bestResult As MemberResolutionResult(Of TMember)? Private ReadOnly _results As ImmutableArray(Of MemberResolutionResult(Of TMember)) Friend Sub New( results As ImmutableArray(Of MemberResolutionResult(Of TMember)), validResult As MemberResolutionResult(Of TMember)?, bestResult As MemberResolutionResult(Of TMember)? ) _results = results _validResult = validResult _bestResult = bestResult End Sub ''' <summary> ''' True if overload resolution successfully selected a single best method. ''' </summary> Public ReadOnly Property Succeeded As Boolean Get Return ValidResult.HasValue End Get End Property ''' <summary> ''' If overload resolution successfully selected a single best method, returns information ''' about that method. Otherwise returns Nothing. ''' </summary> Public ReadOnly Property ValidResult As MemberResolutionResult(Of TMember)? Get Return _validResult End Get End Property ''' <summary> ''' If there was a method that overload resolution considered better than all others, ''' returns information about that method. A method may be returned even if that method was ''' not considered a successful overload resolution, as long as it was better than any other ''' potential method considered. ''' </summary> Public ReadOnly Property BestResult As MemberResolutionResult(Of TMember)? Get Return _bestResult End Get End Property ''' <summary> ''' Returns information about each method that was considered during overload resolution, ''' and what the results of overload resolution were for that method. ''' </summary> Public ReadOnly Property Results As ImmutableArray(Of MemberResolutionResult(Of TMember)) Get Return _results End Get End Property End Class End Namespace