public IGlyphTextMarker AddMarker(GlyphTextMarkerLocationInfo location, ImageReference?glyphImage, string?markerTypeName, string?selectedMarkerTypeName, IClassificationType?classificationType, int zIndex, object?tag, IGlyphTextMarkerHandler?handler, Func <ITextView, bool>?textViewFilter) { if (location is null) { throw new ArgumentNullException(nameof(location)); } switch (location) { case DotNetMethodBodyGlyphTextMarkerLocationInfo bodyLoc: return(AddMarker(bodyLoc.Module, bodyLoc.Token, bodyLoc.ILOffset, glyphImage, markerTypeName, selectedMarkerTypeName, classificationType, zIndex, tag, handler, textViewFilter)); case DotNetTokenGlyphTextMarkerLocationInfo tokenLoc: return(AddMarker(tokenLoc.Module, tokenLoc.Token, glyphImage, markerTypeName, selectedMarkerTypeName, classificationType, zIndex, tag, handler, textViewFilter)); default: throw new InvalidOperationException(); } }
public BreakpointData(GlyphTextMarkerLocationInfo location) => Location = location ?? throw new ArgumentNullException(nameof(location));