Skip to content

Commit 250afda

Browse files
authored
Merge pull request github#2831 from hvitved/csharp/local-function-fresh-label
C#: Generate fresh TRAP ID for local functions
2 parents 3ae1aad + 8748a12 commit 250afda

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

csharp/extractor/Semmle.Extraction.CSharp/Entities/LocalFunction.cs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Microsoft.CodeAnalysis;
22
using Microsoft.CodeAnalysis.CSharp.Syntax;
3+
using System;
34
using System.IO;
45
using System.Linq;
56

@@ -13,16 +14,12 @@ class LocalFunction : Method
1314

1415
public override void WriteId(TextWriter trapFile)
1516
{
16-
trapFile.WriteSubId(ContainingType);
17-
trapFile.Write(".");
18-
trapFile.WriteSubId(Location);
19-
if (symbol.IsGenericMethod && !IsSourceDeclaration)
20-
{
21-
trapFile.Write('<');
22-
trapFile.BuildList(",", symbol.TypeArguments, (ta, tb0) => AddSignatureTypeToId(Context, tb0, symbol, ta));
23-
trapFile.Write('>');
24-
}
25-
trapFile.Write(";localfunction");
17+
throw new InvalidOperationException();
18+
}
19+
20+
public override void WriteQuotedId(TextWriter trapFile)
21+
{
22+
trapFile.Write('*');
2623
}
2724

2825
public static new LocalFunction Create(Context cx, IMethodSymbol field) => LocalFunctionFactory.Instance.CreateEntity(cx, field);

0 commit comments

Comments
 (0)