Skip to content

Commit bbde448

Browse files
authored
WarningEncountered event handler not cleared after each file
1 parent ebd6412 commit bbde448

File tree

1 file changed

+15
-6
lines changed

1 file changed

+15
-6
lines changed

JavaToCSharpCli/Program.cs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,20 +273,29 @@ private static void ConvertToCSharpFile(FileSystemInfo inputFile, FileSystemInfo
273273
{
274274
string javaText = File.ReadAllText(inputFile.FullName);
275275

276-
options.WarningEncountered += (_, eventArgs) =>
276+
void warningEncountered(object? sender, ConversionWarningEventArgs eventArgs)
277277
{
278278
if (outputFile != null)
279279
{
280280
_logger.LogWarning("Line {JavaLineNumber}: {Message}", eventArgs.JavaLineNumber,
281281
eventArgs.Message);
282282
}
283-
283+
284284
OutputFileOrPrint(outputFile != null ? Path.ChangeExtension(outputFile.FullName, ".warning") : null,
285285
eventArgs.Message + Environment.NewLine);
286-
};
287-
288-
string? parsed = JavaToCSharpConverter.ConvertText(javaText, options);
289-
OutputFileOrPrint(outputFile?.FullName, parsed ?? string.Empty);
286+
}
287+
288+
options.WarningEncountered += warningEncountered;
289+
290+
try
291+
{
292+
string? parsed = JavaToCSharpConverter.ConvertText(javaText, options);
293+
OutputFileOrPrint(outputFile?.FullName, parsed ?? string.Empty);
294+
}
295+
finally
296+
{
297+
options.WarningEncountered -= warningEncountered;
298+
}
290299

291300
if (outputFile != null)
292301
{

0 commit comments

Comments
 (0)