Skip to content

Commit adde52d

Browse files
committed
C#: Add missing files
1 parent 9481fad commit adde52d

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.IO;
4+
using System.Linq;
5+
6+
namespace Semmle.Util
7+
{
8+
/// <summary>
9+
/// Utility to temporarily rename a set of files.
10+
/// </summary>
11+
public sealed class FileRenamer : IDisposable
12+
{
13+
readonly string[] files;
14+
const string suffix = ".codeqlhidden";
15+
16+
public FileRenamer(IEnumerable<FileInfo> oldFiles)
17+
{
18+
files = oldFiles.Select(f => f.FullName).ToArray();
19+
20+
foreach (var file in files)
21+
{
22+
File.Move(file, file + suffix);
23+
}
24+
}
25+
26+
public void Dispose()
27+
{
28+
foreach (var file in files)
29+
{
30+
File.Move(file + suffix, file);
31+
}
32+
}
33+
}
34+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System;
2+
using System.IO;
3+
using System.Linq;
4+
using System.Security.Cryptography;
5+
using System.Text;
6+
7+
namespace Semmle.Util
8+
{
9+
/// <summary>
10+
/// A temporary directory that is created within the system temp directory.
11+
/// When this object is disposed, the directory is deleted.
12+
/// </summary>
13+
public sealed class TemporaryDirectory : IDisposable
14+
{
15+
public DirectoryInfo DirInfo { get; }
16+
17+
public TemporaryDirectory(string name)
18+
{
19+
DirInfo = new DirectoryInfo(name);
20+
DirInfo.Create();
21+
}
22+
23+
public void Dispose()
24+
{
25+
DirInfo.Delete(true);
26+
}
27+
28+
public override string ToString() => DirInfo.FullName.ToString();
29+
}
30+
}

0 commit comments

Comments
 (0)