Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial stubs for an LSIF generator that runs as part of the normal compilation pass. #49046

Closed
Show file tree
Hide file tree
Changes from 113 commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
a8f06a6
Extract method
CyrusNajmabadi Oct 29, 2020
4a05e1a
Move code.
CyrusNajmabadi Oct 29, 2020
11a43bf
Extract method
CyrusNajmabadi Oct 29, 2020
a8df511
Extract method
CyrusNajmabadi Oct 29, 2020
d62fe1e
Thread through ability to add additionl files
CyrusNajmabadi Oct 29, 2020
f0f5051
Update tests
CyrusNajmabadi Oct 29, 2020
aca7019
Simplify
CyrusNajmabadi Oct 29, 2020
3c86638
Rename items
CyrusNajmabadi Oct 29, 2020
5da8541
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Nov 10, 2020
c64e0ba
Move to separate context types
CyrusNajmabadi Nov 10, 2020
1de202b
Remove loc string
CyrusNajmabadi Nov 10, 2020
98bc3c8
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs
CyrusNajmabadi Nov 10, 2020
5e8ef58
Remove
CyrusNajmabadi Nov 10, 2020
320a953
Merge branch 'lsifGeneration' of https://github.com/CyrusNajmabadi/ro…
CyrusNajmabadi Nov 10, 2020
3e20046
NRT
CyrusNajmabadi Nov 10, 2020
647b9f6
Update comments
CyrusNajmabadi Nov 10, 2020
3190b6e
Naming
CyrusNajmabadi Nov 10, 2020
b57f12f
Add comment
CyrusNajmabadi Nov 10, 2020
88f492f
Add stream approach to writing out artifacts
CyrusNajmabadi Nov 10, 2020
ba32360
Docs
CyrusNajmabadi Nov 10, 2020
673e1da
delete
CyrusNajmabadi Nov 10, 2020
2803614
Simplify
CyrusNajmabadi Nov 10, 2020
cf44aa7
Delete'
CyrusNajmabadi Nov 10, 2020
27fffad
Update
CyrusNajmabadi Nov 10, 2020
f6a88a9
Simplify context capturing approach.
CyrusNajmabadi Nov 10, 2020
00815db
Update src/Compilers/Core/CodeAnalysisTest/Diagnostics/DiagnosticLoca…
CyrusNajmabadi Nov 10, 2020
5543881
Simplify
CyrusNajmabadi Nov 10, 2020
82748b9
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerDriver.cs
CyrusNajmabadi Nov 10, 2020
74197ab
Docs
CyrusNajmabadi Nov 10, 2020
d988501
Merge branch 'lsifGeneration' of https://github.com/CyrusNajmabadi/ro…
CyrusNajmabadi Nov 10, 2020
68f821f
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
e378de2
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
80c7efb
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
942f25a
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
0a61491
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
5c0d314
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
6abec90
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
9b7ee68
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
a74b5fb
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Nov 10, 2020
b791341
Suppress ArtifactGenerators when not emitting output files
CyrusNajmabadi Nov 10, 2020
52b8f8f
revert
CyrusNajmabadi Nov 10, 2020
5bda703
Merge branch 'lsifGeneration' of https://github.com/CyrusNajmabadi/ro…
CyrusNajmabadi Nov 10, 2020
62b1e2b
Docs
CyrusNajmabadi Nov 10, 2020
703e382
Remove apis
CyrusNajmabadi Nov 10, 2020
e9298f6
Rename type and add new command line flag
CyrusNajmabadi Nov 19, 2020
8b186a2
Add public API
CyrusNajmabadi Nov 19, 2020
25dcffe
Merge the context into the ArtifactProducer itself.
CyrusNajmabadi Nov 19, 2020
07d4060
Docs
CyrusNajmabadi Nov 19, 2020
77e8211
Remove
CyrusNajmabadi Nov 19, 2020
8319586
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Dec 1, 2020
cd4c12e
Fix
CyrusNajmabadi Dec 1, 2020
ad20170
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Dec 14, 2020
91264f8
Move
CyrusNajmabadi Dec 14, 2020
dbf31f9
Update help text
CyrusNajmabadi Dec 16, 2020
48da360
Update comment
CyrusNajmabadi Dec 16, 2020
11ef24e
add invariant check
CyrusNajmabadi Dec 16, 2020
8fce8dc
Update targets
CyrusNajmabadi Dec 16, 2020
73e4012
Mkae local function
CyrusNajmabadi Dec 16, 2020
23f5023
Share code
CyrusNajmabadi Dec 16, 2020
322410a
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Dec 16, 2020
0fb1dfa
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Jan 6, 2021
c4942f4
Add region
CyrusNajmabadi Jan 6, 2021
38bf0f6
initial tests
CyrusNajmabadi Jan 6, 2021
5adf90e
Fix
CyrusNajmabadi Jan 6, 2021
0f20ddd
Remove
CyrusNajmabadi Jan 6, 2021
c1fd338
Docs
CyrusNajmabadi Jan 6, 2021
ac97af0
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Jan 7, 2021
04b0de2
lint
CyrusNajmabadi Jan 7, 2021
6bc8e5f
Fix test
CyrusNajmabadi Jan 7, 2021
491c75c
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Jan 22, 2021
0b21859
Switch to new design
CyrusNajmabadi Jan 23, 2021
77ea700
Add test
CyrusNajmabadi Jan 23, 2021
0365b60
docs
CyrusNajmabadi Jan 23, 2021
65cf9b4
make local function
CyrusNajmabadi Jan 23, 2021
d69c654
Inline
CyrusNajmabadi Jan 23, 2021
7800b4b
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/ArtifactProduce…
CyrusNajmabadi Jan 23, 2021
fc692e6
REname file
CyrusNajmabadi Jan 23, 2021
362e1a4
revert
CyrusNajmabadi Jan 23, 2021
2463e78
Merge branch 'lsifGeneration' of https://github.com/CyrusNajmabadi/ro…
CyrusNajmabadi Jan 23, 2021
5a5b2f8
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Feb 8, 2021
1e8cd5d
Fix NRT annotation
CyrusNajmabadi Feb 8, 2021
8c09337
Update comment
CyrusNajmabadi Feb 8, 2021
ddc855b
Make sealed
CyrusNajmabadi Feb 8, 2021
abd2aa6
use array copy
CyrusNajmabadi Feb 8, 2021
b9484ae
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Feb 16, 2021
ea8e42d
Update api
CyrusNajmabadi Feb 16, 2021
f60380d
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Feb 17, 2021
5ff0f80
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Feb 23, 2021
4d2eee1
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Feb 24, 2021
c67daba
Simplify
CyrusNajmabadi Feb 24, 2021
b4959c9
Update src/Compilers/Core/Portable/SourceGeneration/ArtifactProducerA…
CyrusNajmabadi Feb 24, 2021
b6d48f8
Update src/Compilers/Core/Portable/SourceGeneration/ArtifactProducerA…
CyrusNajmabadi Feb 24, 2021
8d54a99
Update src/Compilers/Core/Portable/SourceGeneration/ArtifactProducerA…
CyrusNajmabadi Feb 24, 2021
d0e1708
Update src/Compilers/Core/Portable/SourceGeneration/ArtifactProducerA…
CyrusNajmabadi Feb 24, 2021
5954a80
nsquared
CyrusNajmabadi Feb 24, 2021
dd7177d
Merge branch 'lsifGeneration' of https://github.com/CyrusNajmabadi/ro…
CyrusNajmabadi Feb 24, 2021
97ee81d
Support generating lsif info for a project
CyrusNajmabadi Feb 24, 2021
9e678fa
Merge remote-tracking branch 'upstream/master' into lsifGeneration
CyrusNajmabadi Feb 25, 2021
1418f28
Merge remote-tracking branch 'upstream/main' into lsifGeneration
CyrusNajmabadi Mar 8, 2021
af1fa51
APIchanges
CyrusNajmabadi Mar 8, 2021
04abdd5
Tests
CyrusNajmabadi Mar 8, 2021
9dc39d3
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/AnalyzerExecuto…
CyrusNajmabadi Mar 8, 2021
bb7b28d
Remove entries
CyrusNajmabadi Mar 9, 2021
ab76abb
Merge branch 'lsifGeneration' of https://github.com/CyrusNajmabadi/ro…
CyrusNajmabadi Mar 9, 2021
c667720
Make sure to always close the streams
CyrusNajmabadi Mar 9, 2021
4e20c17
Remove
CyrusNajmabadi Mar 10, 2021
bee9833
Switch to a class
CyrusNajmabadi Mar 10, 2021
620745f
Rename
CyrusNajmabadi Mar 10, 2021
3efbba0
Throw if multiple opens to same file
CyrusNajmabadi Mar 10, 2021
47656fa
Fix tests
CyrusNajmabadi Mar 10, 2021
b4738ea
Simplify tests
CyrusNajmabadi Mar 10, 2021
f36ce07
Simplify tests
CyrusNajmabadi Mar 10, 2021
8fa2859
Simplify
CyrusNajmabadi Mar 10, 2021
2945027
Update src/Compilers/Core/Portable/DiagnosticAnalyzer/ArtifactContext.cs
CyrusNajmabadi Mar 10, 2021
24846a8
Remove
CyrusNajmabadi Mar 10, 2021
c6d198d
Merge branch 'lsifGeneration' of https://github.com/CyrusNajmabadi/ro…
CyrusNajmabadi Mar 10, 2021
42e6093
Docs
CyrusNajmabadi Mar 10, 2021
7ea60f3
Using
CyrusNajmabadi Mar 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/Compilers/CSharp/Portable/CSharpResources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -4773,6 +4773,8 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
-modulename:<string> Specify the name of the source module
-generatedfilesout:<dir> Place files generated during compilation in the
specified directory.
-generatedartifactsout:<dir> Place artifacts generated during compilation in the
specified directory.
</value>
<comment>Visual C# Compiler Options</comment>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ internal sealed override CommandLineArguments CommonParse(IEnumerable<string> ar
string? outputRefFilePath = null;
bool refOnly = false;
string? generatedFilesOutputDirectory = null;
string? generatedArtifactsOutputDirectory = null;
string? documentationPath = null;
ErrorLogOptions? errorLogOptions = null;
bool parseDocumentationComments = false; //Don't just null check documentationFileName because we want to do this even if the file name is invalid.
Expand Down Expand Up @@ -626,6 +627,17 @@ internal sealed override CommandLineArguments CommonParse(IEnumerable<string> ar
}
continue;

case "generatedartifactsout":
if (string.IsNullOrWhiteSpace(value))
{
AddDiagnostic(diagnostics, ErrorCode.ERR_SwitchNeedsString, MessageID.IDS_Text.Localize(), arg);
}
else
{
generatedArtifactsOutputDirectory = ParseGenericPathToFile(value, diagnostics, baseDirectory);
}
continue;
CyrusNajmabadi marked this conversation as resolved.
Show resolved Hide resolved

case "doc":
parseDocumentationComments = true;
if (RoslynString.IsNullOrEmpty(value))
Expand Down Expand Up @@ -1503,6 +1515,7 @@ internal sealed override CommandLineArguments CommonParse(IEnumerable<string> ar
OutputDirectory = outputDirectory!, // error produced when null
DocumentationPath = documentationPath,
GeneratedFilesOutputDirectory = generatedFilesOutputDirectory,
GeneratedArtifactsOutputDirectory = generatedArtifactsOutputDirectory,
ErrorLogOptions = errorLogOptions,
AppConfigPath = appConfigPath,
SourceFiles = sourceFiles.AsImmutable(),
Expand Down
4 changes: 3 additions & 1 deletion src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading