private DebugMetadata GetMetadata(RouteEndpoint endpoint) { var debugMetadata = new DebugMetadata(); foreach (var metadata in endpoint.Metadata) { switch (metadata) { case HttpMethodAttribute httpAttribute: debugMetadata.Http = string.Join(", ", httpAttribute.HttpMethods); break; case RouteAttribute routeAttribute: debugMetadata.RouteTemplates.Add(routeAttribute.Template); break; } } return(debugMetadata); }
DebugMetadata DebugMetadataForContentAtOffset(int offset) { int currOffset = 0; DebugMetadata lastValidMetadata = null; foreach (var range in _debugSourceRanges) { if (range.debugMetadata != null) { lastValidMetadata = range.debugMetadata; } if (offset >= currOffset && offset < currOffset + range.length) { return(lastValidMetadata); } currOffset += range.length; } return(null); }