| File: BoundTree\BoundMethodOrPropertyGroup.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 Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.VisualBasic.Symbols Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic Partial Friend Class BoundMethodOrPropertyGroup ''' <summary> ''' returns name used to lookup the method/property in the group. ''' </summary> Friend ReadOnly Property MemberName() As String Get 'NOTE: type characters are not included in method names. Select Case Me.Kind Case BoundKind.MethodGroup Dim methods = DirectCast(Me, BoundMethodGroup).Methods Dim name As String = methods(0).Name Debug.Assert(methods.All(Function(m) IdentifierComparison.Comparer.Compare(m.Name, name) = 0)) Return name Case BoundKind.PropertyGroup Dim properties = DirectCast(Me, BoundPropertyGroup).Properties Dim name As String = properties(0).Name Debug.Assert(properties.All(Function(m) IdentifierComparison.Comparer.Compare(m.Name, name) = 0)) Return name End Select Throw ExceptionUtilities.UnexpectedValue(Me.Kind) End Get End Property ''' <summary> ''' returns the container of the first member in the group. ''' </summary> Friend ReadOnly Property ContainerOfFirstInGroup() As TypeSymbol Get Select Case Me.Kind Case BoundKind.MethodGroup Return DirectCast(Me, BoundMethodGroup).Methods(0).ContainingType Case BoundKind.PropertyGroup Return DirectCast(Me, BoundPropertyGroup).Properties(0).ContainingType End Select Throw ExceptionUtilities.UnexpectedValue(Me.Kind) End Get End Property End Class End Namespace