-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
Add support for checksum-based interceptors #72814
Conversation
src/Compilers/CSharp/Portable/Compilation/CSharpSemanticModel.cs
Outdated
Show resolved
Hide resolved
src/Compilers/CSharp/Portable/Symbols/Source/SourceMethodSymbolWithAttributes.cs
Outdated
Show resolved
Hide resolved
src/Compilers/CSharp/Portable/Symbols/Source/SourceMethodSymbolWithAttributes.cs
Outdated
Show resolved
Hide resolved
src/Compilers/CSharp/Portable/Utilities/InterceptableLocation.cs
Outdated
Show resolved
Hide resolved
src/Compilers/CSharp/Portable/Utilities/InterceptableLocation.cs
Outdated
Show resolved
Hide resolved
src/Compilers/CSharp/Portable/Utilities/InterceptableLocation.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Liked everything i saw about the API and the internal impl of the interceptablelocation type. didn't look beyond that.
src/Compilers/CSharp/Portable/Symbols/Source/SourceMethodSymbolWithAttributes.cs
Outdated
Show resolved
Hide resolved
const int positionIndex = hashIndex + hashSize; | ||
const int positionSize = sizeof(int); | ||
const int displayNameIndex = positionIndex + positionSize; | ||
const int minLength = displayNameIndex; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer this factoring as it's more self-documenting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done with review pass (iteration 22)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM Thanks (iteration 22)
Note: the TODO2 will need to be resolved for CI |
@cston Please take a look |
var locationSpecifier = model.GetInterceptableLocation(node)!; | ||
Assert.Equal("(7,9)", locationSpecifier.GetDisplayLocation()); | ||
AssertEx.Equal("""[global::System.Runtime.CompilerServices.InterceptsLocationAttribute(1, "jB4qgCy292LkEGCwmD+R6FIAAAA=")]""", locationSpecifier.GetInterceptsLocationAttributeSyntax()); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
Implementation of #72133