mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
C#: Extract source files generated by source generators
This commit is contained in:
@@ -381,8 +381,17 @@ namespace Semmle.Extraction.CSharp
|
||||
references => ResolveReferences(compilerArguments, analyser, canonicalPathCache, references),
|
||||
(analyser, syntaxTrees) =>
|
||||
{
|
||||
var paths = compilerArguments.SourceFiles
|
||||
.Select(src => src.Path)
|
||||
.ToList();
|
||||
|
||||
if (compilerArguments.GeneratedFilesOutputDirectory is not null)
|
||||
{
|
||||
paths.AddRange(Directory.GetFiles(compilerArguments.GeneratedFilesOutputDirectory, "*.cs", SearchOption.AllDirectories));
|
||||
}
|
||||
|
||||
return ReadSyntaxTrees(
|
||||
compilerArguments.SourceFiles.Select(src => canonicalPathCache.GetCanonicalPath(src.Path)),
|
||||
paths.Select(canonicalPathCache.GetCanonicalPath),
|
||||
analyser,
|
||||
compilerArguments.ParseOptions,
|
||||
compilerArguments.Encoding,
|
||||
|
||||
@@ -63,7 +63,7 @@ function RegisterExtractorPack(id)
|
||||
end
|
||||
end
|
||||
if match then
|
||||
local injections = { '-p:UseSharedCompilation=false' }
|
||||
local injections = { '-p:UseSharedCompilation=false', '-p:EmitCompilerGeneratedFiles=true' }
|
||||
if dotnetRunNeedsSeparator then
|
||||
table.insert(injections, '--')
|
||||
end
|
||||
@@ -118,7 +118,8 @@ function RegisterExtractorPack(id)
|
||||
compilerArguments,
|
||||
nil, {
|
||||
'/p:UseSharedCompilation=false',
|
||||
'/p:MvcBuildViews=true'
|
||||
'/p:MvcBuildViews=true',
|
||||
'/p:EmitCompilerGeneratedFiles=true',
|
||||
})
|
||||
|
||||
}
|
||||
@@ -154,7 +155,7 @@ function RegisterExtractorPack(id)
|
||||
|
||||
if seenCompilerCall then
|
||||
return {
|
||||
order = ORDER_BEFORE,
|
||||
order = ORDER_AFTER,
|
||||
invocation = {
|
||||
path = AbsolutifyExtractorPath(id, extractor),
|
||||
arguments = {
|
||||
@@ -194,7 +195,7 @@ function RegisterExtractorPack(id)
|
||||
|
||||
if seenCompilerCall then
|
||||
return {
|
||||
order = ORDER_BEFORE,
|
||||
order = ORDER_AFTER,
|
||||
invocation = {
|
||||
path = AbsolutifyExtractorPath(id, extractor),
|
||||
arguments = {
|
||||
|
||||
Reference in New Issue
Block a user