-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Intellisense for cast, indexers and operators #47511
Merged
Merged
Changes from all commits
Commits
Show all changes
331 commits
Select commit
Hold shift + click to select a range
eb11333
Rename ConversionComplitionProvider to ConversionCompletionProvider
MaStr11 698f0b0
Split test classes
MaStr11 5de82d5
Add #nullable enable
MaStr11 518acf5
Move GetChange logic into derived classes.
MaStr11 903fabd
Remove "Handler" property from CompletionItem
MaStr11 3989e4c
Move more methods to base class
MaStr11 8ac3618
Fix OperatorPosition for ++ and --
MaStr11 cc1ca46
Test duplicate operators (e.g. +a and a+b)
MaStr11 9780c30
Use displaySuffix and displayPrefix and add support for "SortGrouping…
MaStr11 ea63f9b
Fix tests
MaStr11 b5681fd
sort and remove usings;
MaStr11 4c118ca
Remove and doc overridden ItemPartiallyWritten
MaStr11 308fa92
Return ImmutableArray from GetCompletionItemsForTypeSymbol
MaStr11 2a99581
Code review.
MaStr11 9e9302e
Fix failure to dispose of workspace fixtures
sharwell 5d80754
Fixes after cherry-pick of #47994
MaStr11 e6f79f8
Revert changes of #47994
MaStr11 a9c827a
Return identifier/keyword to remove as token.
MaStr11 fcb66d7
Add support for lifted conversion operators.
MaStr11 9ab8b29
Operators are sorted and grouped per topic (comparison, mathematical,…
MaStr11 192d663
Fix "duplicate" operator test
MaStr11 92c196a
Fix test for operators of built-in types
MaStr11 4db6b71
Add support for built-in numeric conversions
MaStr11 3009adc
Fix test ExplicitUserDefinedConversionFromOtherTypeToTargetIsNotSugge…
MaStr11 0725852
Add comment with source for built-in conversions
MaStr11 ea4ee07
Add support for conditional access conversions and struct nullability.
MaStr11 6b8ad86
Add comment with link to gist
MaStr11 3b4e1aa
Remove misleading comments from copy paste
MaStr11 b34e808
Don't offer completion if user typed "1.$$"
MaStr11 88589d4
Code comment ExplicitConversionOfConditionalAccessFromClassOrStructTo…
MaStr11 da2260c
Add support for built-in enum conversions.
MaStr11 1fe004d
Fix code comment referring to a renamed variable
MaStr11 b6d54f4
nullable enable in OperatorSymbolExtensions
MaStr11 981a936
Re-factor switch expressions in OperatorSymbolExtensions
MaStr11 fee4adb
Remove test cases for special types (we don't want to exclude certain…
MaStr11 9a6b5c9
Add support to remove the conditionalAccess question mark token durin…
MaStr11 51bf27b
Add operator tests for different expression (including conditional ac…
MaStr11 f36861b
Add tests for operator lifting
MaStr11 0d758cd
Add support for lifted operators
MaStr11 0d09b87
Simplify is expression in GetReplacementStart
MaStr11 8484c87
Exclude built-in types for operators (and document why)
MaStr11 9d94034
Add test for item order: methods/properties/extensions, indexer, conv…
MaStr11 908169d
Change glyph to operator for built-in conversions
MaStr11 b93012a
Fix code comments
MaStr11 45a9f25
Re-factor ConverionCompletionProvider
MaStr11 aa988ec
Extract GetOptionalNullableQuestionMark
MaStr11 6afd47d
WIP: Add test for completion item description.
MaStr11 cbc643a
WIP: Use CodeGenerationMethodSymbol to fake a built-in conversion met…
MaStr11 0e6ae3a
WIP: Provide descriptions for built-in conversions.
MaStr11 fca6945
Add test for enum suggestion (don't infer with enum member suggestions)
MaStr11 8f36e3d
Do not offer conversions for EnumType.$$
MaStr11 aab0eba
Improve code comments.
MaStr11 8c16058
Use pooled ArrayBuilder
MaStr11 e8de85d
Add more description tests.
MaStr11 766f003
Add tests for descriptions of user defined explicit conversions.
MaStr11 3e6ac9c
Remove unused method.
MaStr11 eb145b0
Fix typo in IndexerCompletionProviderTests
MaStr11 817891f
Change indexer test to test for description instead of existence of s…
MaStr11 a29ef39
Format document IndexerCompletionProviderTests
MaStr11 1cef386
Fix BC42105: Change ConversionsOperatorsAndIndexerAreShownBelowMethod…
MaStr11 e9e91a4
Add support and test for inherited conversions.
MaStr11 230b349
Pass ArrayBuilder<CompletionItem> around to build the completion list
MaStr11 29c814c
Add links to inheritance conversion lookup in the spec.
MaStr11 bd108fa
Add support and test for indexer inheritance.
MaStr11 8713fe3
Indexer: Take member visibility into account.
MaStr11 2cc2efc
Re-factor AddUserDefinedConversionsOfType and use GetBaseTypesAndThis…
MaStr11 5abf9dd
Add test for operator inheritance and add some links to the spec for …
MaStr11 28790ba
Fix failing accessibility test (script environment only).
MaStr11 42a43fd
Format test data
MaStr11 bfd6c80
Apply suggestions from code review
MaStr11 f22ca92
Fix build error after code review merge
MaStr11 9d1e367
Change signature of GetCompletionItemsForTypeSymbol
MaStr11 d8baedc
Formatting: Line break for GetCompletionItemsForTypeSymbol
MaStr11 bc71fd9
Make enum built in conversion targets array static
MaStr11 71352dc
Pass immutable array for special type conversion targets.
MaStr11 76a7b4a
Improve readability of allExplicitConversions calculation
MaStr11 8296548
Simplify containingTypeAtCursorPosition calculation in IndexerComplet…
MaStr11 53ad16f
Add tests for static access for conversion, indexer and operator.
MaStr11 7370df6
Bail out on static access.
MaStr11 3d34489
Add tests for nameof context
MaStr11 3429c57
Bail out in nameof context
MaStr11 8e83b86
Simplify calculation if built-in enum conversion should be added
MaStr11 a3347cc
Remove expression and cancelationToken from GetCompletionItemsForType…
MaStr11 10a4545
Re-introduce cancellationToken in GetCompletionItemsForTypeSymbol
MaStr11 80384d9
WIP: Try to create description for built in operators based on a cust…
MaStr11 15e9b90
Add test for records (should show ==)
MaStr11 d24c24f
Formatting
MaStr11 278f7aa
Fix wrong MethodKind and simplify BuiltinOperatorParameterSymbol ctor.
MaStr11 d85dce5
Fix cref resolution (global:: is not supported)
MaStr11 a7ac084
Simplify GetDocumentationCommentXml and fix other tests.
MaStr11 93113fd
Add comment describing the usage of the BuiltinOperatorMethodSymbol
MaStr11 7f368cd
Use SymbolCompletionItem.GetDescriptionAsync logic instead of CommonC…
MaStr11 a2b1a72
Add glyph support (all tests green now)
MaStr11 7721d00
Remove unused ContainerTypeNamePropertyName
MaStr11 8e72b63
Unify CreateSymbolCompletionItem for user-defined conversions and bui…
MaStr11 16a4fd6
Test and fix namespace handling in cref.
MaStr11 773fa70
Add MaybeNull annotation to "ISymbol.Accept"
MaStr11 a4bf890
Inline GetOptionalNullableQuestionMark
MaStr11 8fee5ac
Fix "public static void Main()" to make test code copyable to console…
MaStr11 97b55dc
Define res resource for "Explicit conversion" text.
MaStr11 2800a95
Integrate CSharpFeaturesResources.Explicit_conversion_of_see_cref_T_0…
MaStr11 dcc03e7
Localize tests
MaStr11 8193fa4
Formatting: Whitespace warnings.
MaStr11 4bd5606
Add tests for matching filters (in completion popup menu)
MaStr11 3e8b473
Add OperatorFilter to FilterSet
MaStr11 9b4cbe2
Add "Operators" to FeatureResources and use it.
MaStr11 b092778
Add filter verification tests for built-in converters and others.
MaStr11 0f29687
Use in CombinatorialData in ExplicitConversionOfConditionalAccessFrom…
MaStr11 9356db3
Add test for type alias.
MaStr11 1455039
Remove SymbolCompletionItem.CreateWithSymbolId overload (introduced e…
MaStr11 305b723
Add support for displayTextPrefix in tests
MaStr11 4db1c97
Fix swapped arguments.
MaStr11 3452c47
Fix conversion tests by adding displayTextPrefix: "("
MaStr11 e6657b9
Convert switch statement to switch expression with Or pattern
MaStr11 793f1ef
Throw in ReplaceDotAndTokenAfterWithTextAsync if token is not a DotTo…
MaStr11 b894788
Remove fallback to base.GetChangeAsync (ReplaceDotAndTokenAfterWithTe…
MaStr11 fb964e6
OperatorCompletionProvider.GetChangeAsync throws in unexpected code p…
MaStr11 fcbc5c2
Formatting OperatorCompletionProvider
MaStr11 8c31f7f
Indexer are listed between other methods/properties, instead of the e…
MaStr11 1acc7e7
Formatting OperatorIndexerCompletionProviderBase
MaStr11 088d712
Format ConversionCompletionProvider
MaStr11 d08538d
Presort built-in enum conversions array.
MaStr11 1675a47
Sort built-in numeric conversions
MaStr11 ca7c102
Add code comment
MaStr11 ae531c2
Add inlineDescription SymbolCompletionItem.CreateWithSymbolId
MaStr11 517f59f
Add inlineDescription to operators and fix tests.
MaStr11 45d5de3
Merge remote-tracking branch 'upstream/master' into intellisenseExpli…
CyrusNajmabadi 29fb42c
Remove
CyrusNajmabadi a3b3449
Merge remote-tracking branch 'upstream/master' into intellisenseExpli…
CyrusNajmabadi 092caf1
Remove nrt, update loc string'
CyrusNajmabadi 8c86799
Pull out tag from loc string
CyrusNajmabadi 7598002
Pull out tag from loc string
CyrusNajmabadi 569e82b
Make type nested.'
CyrusNajmabadi 51d7935
unwind
CyrusNajmabadi 40419aa
Simplify
CyrusNajmabadi d8f12bb
Merge code
CyrusNajmabadi 8f12343
Simplify
CyrusNajmabadi 067aa74
Simplify
CyrusNajmabadi 083f2fc
Simplify
CyrusNajmabadi acb5946
Simplify
CyrusNajmabadi 149f1e5
Simplify
CyrusNajmabadi 9c3aba1
Merge remote-tracking branch 'upstream/master' into intellisenseExpli…
CyrusNajmabadi 990a04b
Merge
CyrusNajmabadi 7c815ba
Fixup tests
CyrusNajmabadi a5e3467
Symboldisplay work
CyrusNajmabadi 09f6a34
Merge remote-tracking branch 'upstream/master' into intellisenseExpli…
CyrusNajmabadi a78c3d8
Delete unnecessary types
CyrusNajmabadi 2116f45
Nullable enable
CyrusNajmabadi 3e14092
Expose what cointainer we're dotting off of.
CyrusNajmabadi 152de58
Merge remote-tracking branch 'upstream/main' into intellisenseExplici…
CyrusNajmabadi 643f8a2
Add unnamed symbols
CyrusNajmabadi 789a1d6
Simplify
CyrusNajmabadi 1a9f0d6
simplify
CyrusNajmabadi 8d00209
Merge branch 'simplifyCompletion' into intellisenseExplicitCast
CyrusNajmabadi 8dc4c81
Merge code in
CyrusNajmabadi aac0ad7
Merge remote-tracking branch 'sharwell/cancel-work' into intellisense…
CyrusNajmabadi 1ef9442
Merge remote-tracking branch 'upstream/main' into intellisenseExplici…
CyrusNajmabadi 960bebb
nrt'
CyrusNajmabadi db8c84e
revert'
CyrusNajmabadi 5de1dd0
Port logic
CyrusNajmabadi bcd1dab
Compiling
CyrusNajmabadi f1c7aa3
Merge remote-tracking branch 'upstream/main' into intellisenseExplici…
CyrusNajmabadi a8f4a14
Compile
CyrusNajmabadi 78eb064
NOt in nameof
CyrusNajmabadi b8a257d
ONly when isntance members allowed
CyrusNajmabadi 9b1476e
Add conversion
CyrusNajmabadi ea57c06
not after a number
CyrusNajmabadi a4a1074
look through all members
CyrusNajmabadi 560b61f
some amount of lifting
CyrusNajmabadi be2b75f
MOre conversions work
CyrusNajmabadi c8e4862
Operator change
CyrusNajmabadi c45d786
Fix test
CyrusNajmabadi 39a98a3
docs
CyrusNajmabadi 64b52d3
double id
CyrusNajmabadi 7925ff7
Test pass
CyrusNajmabadi 3bb653c
Simplify
CyrusNajmabadi cce82d4
No nullable for summary
CyrusNajmabadi 9cbd489
update tests
CyrusNajmabadi 995b585
update tests
CyrusNajmabadi ea3d109
index range
CyrusNajmabadi 16e0e2b
doc comments
CyrusNajmabadi 76b15ba
Fix tests'
CyrusNajmabadi bb51a1d
Fix tests'
CyrusNajmabadi 0b5b66f
Fix tests'
CyrusNajmabadi 11f87c5
Fix'
CyrusNajmabadi 70b3fba
UPdate test
CyrusNajmabadi f962097
Fix questions
CyrusNajmabadi 1504aea
fix test
CyrusNajmabadi 93b76c2
rename
CyrusNajmabadi ecc3288
always include the op
CyrusNajmabadi d2c587a
Fixes
CyrusNajmabadi 28d97d0
fix tests
CyrusNajmabadi dd85f1e
Fix ordering
CyrusNajmabadi d6c1db9
Remove'
CyrusNajmabadi 00d48a3
Get building
CyrusNajmabadi a0c09bd
Fix dotdot case
CyrusNajmabadi f2a81d4
Fix tests
CyrusNajmabadi 0719ea7
don't make nullable reference types
CyrusNajmabadi 65e4868
Fix tests
CyrusNajmabadi 1ad4499
add test'
CyrusNajmabadi fae2b4e
Add test
CyrusNajmabadi b1f8758
Add tests
CyrusNajmabadi 673166a
add test'
CyrusNajmabadi 18f6ad1
NO need to lift operators'
CyrusNajmabadi fb41fec
simplify
CyrusNajmabadi 027c0c5
Use x and y
CyrusNajmabadi b425171
Handle operator overloads
CyrusNajmabadi 1abb87e
Simplify
CyrusNajmabadi 4988260
Simplify operators
CyrusNajmabadi c1546b1
restore
CyrusNajmabadi 16650a7
revert
CyrusNajmabadi 2068af2
comments
CyrusNajmabadi 5fe0a95
Cleanup
CyrusNajmabadi 668e3ad
simplify
CyrusNajmabadi 88548d3
Fixes
CyrusNajmabadi 9bbc99e
Fix
CyrusNajmabadi 1f2df0a
test fixes'
CyrusNajmabadi f09f182
test fixes'
CyrusNajmabadi 0c933d5
simplify
CyrusNajmabadi 5e7e061
simplify
CyrusNajmabadi 1dc3af7
simplify
CyrusNajmabadi 44a08a6
Filter unnamed symbols as well
CyrusNajmabadi f679674
simplify
CyrusNajmabadi acdb61f
simplify
CyrusNajmabadi 4888740
simplify
CyrusNajmabadi 1104c57
simplify
CyrusNajmabadi 139af1c
simplify
CyrusNajmabadi a7f1f6d
reorder
CyrusNajmabadi c32939b
Simplify
CyrusNajmabadi 85c85fe
Simplify
CyrusNajmabadi 78b9472
Tighten logic
CyrusNajmabadi 825a017
simplify
CyrusNajmabadi 38714d3
simplify
CyrusNajmabadi 0748faa
docs'
CyrusNajmabadi 38ec737
doc comment
CyrusNajmabadi f1b2866
Simplify
CyrusNajmabadi 463ee55
simplify
CyrusNajmabadi 30b76f5
Merge remote-tracking branch 'upstream/main' into intellisenseExplici…
CyrusNajmabadi 3819516
Add docs
CyrusNajmabadi 8265eaa
Whitespace
CyrusNajmabadi 4b79520
Update src/Features/CSharp/Portable/Completion/CompletionProviders/Op…
CyrusNajmabadi ffcd9f4
Update src/Features/CSharp/Portable/Completion/CompletionProviders/Op…
CyrusNajmabadi 621b4b1
rename
CyrusNajmabadi bd6ee53
Merge branch 'intellisenseExplicitCast' of https://github.com/MaStr11…
CyrusNajmabadi 704dcff
Update src/Workspaces/CSharp/Portable/Recommendations/CSharpRecommend…
CyrusNajmabadi 9c08521
Tests for EditorBrowsable for indexers
MaStr11 f7627d1
Test indexer is suggested on strings
MaStr11 84ee17d
FIx editor browsable
CyrusNajmabadi f29e223
Add test for EditorBrowsable on operators
MaStr11 01bc741
Add tests for EditorBrowsable on conversions
MaStr11 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Added displayTextPrefix, and flowed in along.