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

Test plan for enhanced #line directives #54509

Closed
18 of 21 tasks
cston opened this issue Jul 1, 2021 · 1 comment
Closed
18 of 21 tasks

Test plan for enhanced #line directives #54509

cston opened this issue Jul 1, 2021 · 1 comment
Assignees
Labels
Area-Compilers Test Test failures in roslyn-CI
Milestone

Comments

@cston
Copy link
Member

cston commented Jul 1, 2021

Proposal: dotnet/csharplang#4747
Spec: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-10.0/enhanced-line-directives.md

#line (startLine, startChar) - (endLine, endChar) charOffset "fileName"

Parsing

  • -langversion
  • in inactive region
  • incomplete directive
  • missing tokens
  • unexpected token types
  • with extra/no trivia between tokens

Semantics

  • CSharpSyntaxTree.GetLineMappings()
  • values out of range
  • (endLine, endChar) < (startLine, startChar)
  • before/after #line default, #line hidden, #line number
  • diagnostic reported for mapped span
  • sequence points in mapped span
  • diagnostics and GetLineMappings() return default (unmapped) spans after malformed #line
  • spans that start/end before/after charOffset with single- and multi-line spans
  • spans shorter/longer than mapped span with single- and multi-line spans
  • SyntaxNormalizer
  • CSharpCompiler.ResolveEmbeddedFilesFromExternalSourceDirectives()

Productivity

  • Classification: ClassifyTrivia(), ClassifyPreprocessorDirective()
  • Formatting
  • EnC after changing #line
  • CSharpSyntaxFacts.TryGetExternalSourceInfo()
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead labels Jul 1, 2021
@jcouv jcouv removed the untriaged Issues and PRs which have not yet been triaged by a lead label Jul 2, 2021
@jcouv jcouv added this to the C# 10 milestone Jul 2, 2021
@jcouv jcouv self-assigned this Jul 2, 2021
@jaredpar jaredpar modified the milestones: C# 10, 17.0 Jul 13, 2021
@jaredpar jaredpar added the Test Test failures in roslyn-CI label Aug 2, 2021
@jcouv jcouv modified the milestones: 17.0, 17.1 Oct 5, 2021
@cston
Copy link
Member Author

cston commented Jan 11, 2022

Closing test plan issue. We can open separate issues if other issues are discovered.

@cston cston closed this as completed Jan 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers Test Test failures in roslyn-CI
Projects
None yet
Development

No branches or pull requests

3 participants