MonoDevelop.Refactoring.InsertionPointService.GetSuitableInsertionPoint C# (CSharp) Method

GetSuitableInsertionPoint() static private method

static private GetSuitableInsertionPoint ( IReadonlyTextDocument data, IEnumerable points, ITypeSymbol cls, Location part, Microsoft.CodeAnalysis.SyntaxNode member ) : MonoDevelop.Ide.Editor.InsertionPoint
data IReadonlyTextDocument
points IEnumerable
cls ITypeSymbol
part Location
member Microsoft.CodeAnalysis.SyntaxNode
return MonoDevelop.Ide.Editor.InsertionPoint
		internal static InsertionPoint GetSuitableInsertionPoint (IReadonlyTextDocument data, IEnumerable<InsertionPoint> points, ITypeSymbol cls, Location part, SyntaxNode member)
		{
			switch (member.Kind ()) {
			case SyntaxKind.FieldDeclaration:
				return GetNewFieldPosition (data, points, cls, part);
			case SyntaxKind.MethodDeclaration:
			case SyntaxKind.ConstructorDeclaration:
			case SyntaxKind.DestructorDeclaration:
			case SyntaxKind.OperatorDeclaration:
				return GetNewMethodPosition (data, points, cls, part);
			case SyntaxKind.EventDeclaration:
				return GetNewEventPosition (data, points, cls, part);
			case SyntaxKind.PropertyDeclaration:
				return GetNewPropertyPosition (data, points, cls, part);
			}
			throw new InvalidOperationException ("Invalid member type: " + member.Kind ());
		}