-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Description
Feature branch - https://github.com/dotnet/roslyn/tree/features/UnsignedRightShift
Specification - https://github.com/dotnet/csharplang/blob/main/proposals/csharp-11.0/unsigned-right-shift-operator.md
Proposal: dotnet/csharplang#4682
Compiler
- LangVer
- Update test plan
- Verify behavior of VB
- Verify behavior of C++/CLI
- Inform F# of changes
Public APIs
- IOperation
- shift:
TestBinaryOperators_UnsignedRightShift - compound assignment?
- CFG
- shift:
- Symbol display on
>>>operator - SyntaxNormalizer
- GetSymbolInfo
- Intrinsic operators
- User-defined operators
- GetSpeculativeSymbolInfo
- API review
Parsing
- Expressions
- Disambiguation with nested generics
- Presense of tuple types at various levels
- Operator declaration
- Regular declarations
- Explicit implementations
Semantics
- Operator is called
- Intrinsic operators
- User-defined operators
- dynamic LHS or RHS
- Lifted operators
- Intrinsic
- User-defined
- Constants and constant folding
- Disallowed in expression tree (
BuiltIn_Lifted_ExpressionTree_*) - Results on hover in EE/debugger
Productivity
- F1 on
>>>and>>>=- tests are in place, need to add actual doc pages - Declaring
>>>operator - Using operator in expressions
- QuickInfo should show used operator
- User-defined operators
- Intrinsic operators
-
>>>token classification - Syntax normalizer for declarations
- Go to definition from operator usage and explicit interface implementation
- Find all references for operators
- Go To Implementation
- Operator completion for explicit implementation
- Operator completion when available (in expressions on types with the operator)
- Intrinsic operators
- User-defined operators
- Implement interface fixer
- Formatter tests
- Signature formatting
- Indentation inside operator
- Navbar
- Object Browser
- Metadata as source
- Call hierarchy window
- Code lens
Reactions are currently unavailable