diff --git a/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs b/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs
index 1e8f58c45b7..d17214c5b50 100644
--- a/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs
+++ b/csharp/autobuilder/Semmle.Autobuild.Shared/Autobuilder.cs
@@ -146,7 +146,7 @@ namespace Semmle.Autobuild.Shared
/// solution file and tools.
///
/// The command line options.
- public Autobuilder(IBuildActions actions, AutobuildOptions options)
+ protected Autobuilder(IBuildActions actions, AutobuildOptions options)
{
Actions = actions;
Options = options;
diff --git a/csharp/extractor/Semmle.Extraction.CIL.Driver/Program.cs b/csharp/extractor/Semmle.Extraction.CIL.Driver/Program.cs
index cff82d38d81..664322758c4 100644
--- a/csharp/extractor/Semmle.Extraction.CIL.Driver/Program.cs
+++ b/csharp/extractor/Semmle.Extraction.CIL.Driver/Program.cs
@@ -39,7 +39,7 @@ namespace Semmle.Extraction.CIL.Driver
var options = new ExtractorOptions(args);
var layout = new Layout();
- var logger = new ConsoleLogger(options.Verbosity);
+ using var logger = new ConsoleLogger(options.Verbosity);
var actions = options.
AssembliesToExtract.Select(asm => asm.filename).
diff --git a/csharp/extractor/Semmle.Extraction.CIL/Context.cs b/csharp/extractor/Semmle.Extraction.CIL/Context.cs
index 58b7ac9164d..825a05b5ad1 100644
--- a/csharp/extractor/Semmle.Extraction.CIL/Context.cs
+++ b/csharp/extractor/Semmle.Extraction.CIL/Context.cs
@@ -125,7 +125,7 @@ namespace Semmle.Extraction.CIL
{
public Context cx;
- public GenericContext(Context cx)
+ protected GenericContext(Context cx)
{
this.cx = cx;
}
diff --git a/csharp/extractor/Semmle.Extraction.CIL/Entities/Type.cs b/csharp/extractor/Semmle.Extraction.CIL/Entities/Type.cs
index 6aa83385540..ccf1e2046f6 100644
--- a/csharp/extractor/Semmle.Extraction.CIL/Entities/Type.cs
+++ b/csharp/extractor/Semmle.Extraction.CIL/Entities/Type.cs
@@ -963,7 +963,7 @@ namespace Semmle.Extraction.CIL.Entities
{
protected readonly GenericContext gc;
- public TypeParameter(GenericContext gc) : base(gc.cx)
+ protected TypeParameter(GenericContext gc) : base(gc.cx)
{
this.gc = gc;
}
diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs
index ebe9242239b..7f1310a61a1 100644
--- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs
+++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs
@@ -9,7 +9,7 @@ namespace Semmle.Extraction.CSharp.Entities
{
public abstract class Method : CachedSymbol, IExpressionParentEntity, IStatementParentEntity
{
- public Method(Context cx, IMethodSymbol init)
+ protected Method(Context cx, IMethodSymbol init)
: base(cx, init) { }
protected void PopulateParameters()
diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Symbol.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Symbol.cs
index d56e1ff3451..095d914eb32 100644
--- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Symbol.cs
+++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Symbol.cs
@@ -11,7 +11,7 @@ namespace Semmle.Extraction.CSharp.Entities
{
public abstract class CachedSymbol : CachedEntity where T : ISymbol
{
- public CachedSymbol(Context cx, T init)
+ protected CachedSymbol(Context cx, T init)
: base(cx, init) { }
public virtual Type ContainingType => symbol.ContainingType != null ? Type.Create(Context, symbol.ContainingType) : null;
diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Type.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Type.cs
index b1186072c64..c2119b6eaf7 100644
--- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Type.cs
+++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Types/Type.cs
@@ -33,7 +33,7 @@ namespace Semmle.Extraction.CSharp.Entities
public abstract class Type : CachedSymbol
{
- public Type(Context cx, ITypeSymbol init)
+ protected Type(Context cx, ITypeSymbol init)
: base(cx, init) { }
public virtual AnnotatedType ElementType => default(AnnotatedType);
@@ -336,7 +336,7 @@ namespace Semmle.Extraction.CSharp.Entities
abstract class Type : Type where T : ITypeSymbol
{
- public Type(Context cx, T init)
+ protected Type(Context cx, T init)
: base(cx, init) { }
public new T symbol => (T)base.symbol;
diff --git a/csharp/extractor/Semmle.Extraction/Entities/Location.cs b/csharp/extractor/Semmle.Extraction/Entities/Location.cs
index d499e68c64f..f699a135516 100644
--- a/csharp/extractor/Semmle.Extraction/Entities/Location.cs
+++ b/csharp/extractor/Semmle.Extraction/Entities/Location.cs
@@ -3,7 +3,7 @@ namespace Semmle.Extraction.Entities
{
public abstract class Location : CachedEntity
{
- public Location(Context cx, Microsoft.CodeAnalysis.Location? init)
+ protected Location(Context cx, Microsoft.CodeAnalysis.Location? init)
: base(cx, init) { }
public static Location Create(Context cx, Microsoft.CodeAnalysis.Location? loc) =>
diff --git a/csharp/extractor/Semmle.Extraction/FreshEntity.cs b/csharp/extractor/Semmle.Extraction/FreshEntity.cs
index b99ae6251c6..c8e793b68f3 100644
--- a/csharp/extractor/Semmle.Extraction/FreshEntity.cs
+++ b/csharp/extractor/Semmle.Extraction/FreshEntity.cs
@@ -9,7 +9,7 @@ namespace Semmle.Extraction
{
protected readonly Context cx;
- public FreshEntity(Context cx)
+ protected FreshEntity(Context cx)
{
this.cx = cx;
cx.AddFreshLabel(this);
diff --git a/csharp/extractor/Semmle.Extraction/Symbol.cs b/csharp/extractor/Semmle.Extraction/Symbol.cs
index 5b33ba11b46..d118551935e 100644
--- a/csharp/extractor/Semmle.Extraction/Symbol.cs
+++ b/csharp/extractor/Semmle.Extraction/Symbol.cs
@@ -9,7 +9,7 @@ namespace Semmle.Extraction
/// The type of the symbol.
public abstract class CachedEntity : ICachedEntity
{
- public CachedEntity(Context context, Initializer init)
+ protected CachedEntity(Context context, Initializer init)
{
Context = context;
symbol = init;