Skip to content

Commit 374f398

Browse files
committed
C#: Do not extractor private or internal types from reference assemblies.
1 parent 7675aa3 commit 374f398

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

csharp/extractor/Semmle.Extraction.CSharp/Extractor/Analyser.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,9 @@ public void AnalyseCompilation()
262262
extractionTasks.Add(() => DoAnalyseCompilation());
263263
}
264264

265+
private static bool IsPrivateOrInternal(ISymbol symbol) =>
266+
symbol.DeclaredAccessibility == Accessibility.Private || symbol.DeclaredAccessibility == Accessibility.Internal;
267+
265268
private static void AnalyseNamespace(Context cx, INamespaceSymbol ns)
266269
{
267270
foreach (var memberNamespace in ns.GetNamespaceMembers())
@@ -271,7 +274,10 @@ private static void AnalyseNamespace(Context cx, INamespaceSymbol ns)
271274

272275
foreach (var memberType in ns.GetTypeMembers())
273276
{
274-
Entities.Type.Create(cx, memberType).ExtractRecursive();
277+
if (!IsPrivateOrInternal(memberType))
278+
{
279+
Entities.Type.Create(cx, memberType).ExtractRecursive();
280+
}
275281
}
276282
}
277283

csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,6 @@ private static ExitCode AnalyseTracing(
549549
compilerArguments.CompilationOptions
550550
.WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default)
551551
.WithStrongNameProvider(new DesktopStrongNameProvider(compilerArguments.KeyFileSearchPaths))
552-
.WithMetadataImportOptions(MetadataImportOptions.All)
553552
);
554553
},
555554
(compilation, options) => analyser.EndInitialize(compilerArguments, options, compilation, cwd, args),

0 commit comments

Comments
 (0)