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

Update IsImplicitlyDeclared doc #48199

Merged
merged 3 commits into from
Oct 1, 2020
Merged
Changes from 1 commit
Commits
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: 1 addition & 1 deletion src/Compilers/Core/Portable/Symbols/ISymbol.cs
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public interface ISymbol : IEquatable<ISymbol?>

/// <summary>
/// Returns true if this symbol was automatically created by the compiler, and does not have
/// an explicit corresponding source code declaration.
/// an explicit corresponding source code declaration. This doesn't include the generated method and class for top-level statements.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the key point is that these are not generated methods. A generated method and class is something like PrivateImplementationDetails. The top-level <Program>$ and <Main>$ are created because of a specific user action: writing a top-level main. That means create these things. It's not implicitly created.

If we need to add a note, I'd prefer it go down in the remarks below.

/// </summary>
/// <remarks>
/// This is intended for symbols that are ordinary symbols in the language sense, and may be
Expand Down