From 471623206354941d3f6b1f92b69866cfe0691d35 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Thu, 25 Sep 2025 16:41:21 +0200 Subject: [PATCH 1/2] C#: Use * IDs for source locations. --- .../Locations/NonGeneratedSourceLocation.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs index 69e9ea4e9dc7..7a13138ff6ac 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs @@ -40,8 +40,29 @@ public File FileEntity get; } + private static void WriteStarId(EscapingTextWriter writer) + { + writer.Write('*'); + } + + public sealed override void WriteQuotedId(EscapingTextWriter writer) + { + if (Context.ExtractionContext.IsStandalone) + { + WriteStarId(writer); + return; + } + base.WriteQuotedId(writer); + } + public override void WriteId(EscapingTextWriter trapFile) { + if (Context.ExtractionContext.IsStandalone) + { + WriteStarId(trapFile); + return; + } + trapFile.Write("loc,"); trapFile.WriteSubId(FileEntity); trapFile.Write(','); From b295c27cb77a968270e144f78d1bc8f299a2470d Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Fri, 3 Oct 2025 14:46:42 +0200 Subject: [PATCH 2/2] C#: Also use * IDs in traced mode. --- .../Locations/NonGeneratedSourceLocation.cs | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs index 7a13138ff6ac..ae21867151c4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Locations/NonGeneratedSourceLocation.cs @@ -47,32 +47,12 @@ private static void WriteStarId(EscapingTextWriter writer) public sealed override void WriteQuotedId(EscapingTextWriter writer) { - if (Context.ExtractionContext.IsStandalone) - { - WriteStarId(writer); - return; - } - base.WriteQuotedId(writer); + WriteStarId(writer); } public override void WriteId(EscapingTextWriter trapFile) { - if (Context.ExtractionContext.IsStandalone) - { - WriteStarId(trapFile); - return; - } - - trapFile.Write("loc,"); - trapFile.WriteSubId(FileEntity); - trapFile.Write(','); - trapFile.Write(Position.Span.Start.Line + 1); - trapFile.Write(','); - trapFile.Write(Position.Span.Start.Character + 1); - trapFile.Write(','); - trapFile.Write(Position.Span.End.Line + 1); - trapFile.Write(','); - trapFile.Write(Position.Span.End.Character); + WriteStarId(trapFile); } private class SourceLocationFactory : CachedEntityFactory