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

Merging features/stackalloc-init into dev15.7.x #25476

Merged
merged 53 commits into from
Mar 15, 2018

Conversation

VSadov
Copy link
Member

@VSadov VSadov commented Mar 14, 2018

As of #25382 , the feature branch meets requirements for the merge to the release branch.

The testplan is at: #25160

The IDE manual pass has been completed (see below).

Shyam-Gupta and others added 17 commits March 7, 2018 10:38
…mpiler

Merge dev15.7.x to features/compiler
…oc-init

# Conflicts:
#	src/Compilers/CSharp/Portable/Binder/Binder_Expressions.cs
#	src/Compilers/CSharp/Portable/BoundTree/Formatting.cs
#	src/Compilers/CSharp/Portable/CSharpResources.resx
#	src/Compilers/CSharp/Portable/Errors/MessageID.cs
#	src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt
#	src/Compilers/CSharp/Test/Semantic/Semantics/UnsafeTests.cs
#	src/Compilers/Core/Portable/CodeGen/ILBuilderEmit.cs
[stackalloc-init] Symbol API tests
Merge 'features/compiler' into stackalloc-init
Merging Dev15.7.x into features/stackalloc-init
Merge from dev15.7.x into features/stackalloc-inits
@VSadov VSadov requested a review from a team as a code owner March 14, 2018 23:26
@VSadov VSadov changed the title Merging features/stackalloc init into dev15.7.x Merging features/stackalloc-init into dev15.7.x Mar 15, 2018
@VSadov
Copy link
Member Author

VSadov commented Mar 15, 2018

Testing tags

  • 🔍 = Scenarios that are regularly tested against internal builds
  • ⏩ = Scenarios that must work as expected before new language features are merged

When doing a test pass, copy this page and consider using these status indicators:

  • ✅ = Tested & Approved (possibly with linked bugs)
  • ❌ = Merge blocking
  • 🚧 = Non-blocking bugs
  • 🆗 = Issue has been fixed
  • 🆓 = No expected impact
  • ❓ = Open question

1 Feature updated by compiler team, with appropriate unit tests.

2 Feature requires more complete testing by IDE team.

Product Features

Core Scenarios in Editing, Navigating, and Viewing

Category Feature/Description C# Signoff/Notes VB Signoff/Notes
Enable/Disable Feature Flags
To completely enables/disable new compiler features in the compiler & IDE
N/A
Typing General Typing
- Type and paste new constructs
- Nothing interferes with verbatim typing
N/A
🔍 ⏩ Completion
- Typing new keyword/construct names
- Dotting off of new constructs
- Matching part of the identifier is highlighted (including word prefix matches) [Visual Studio 2015 Update 1]
- Target type preselection [Visual Studio 2017]
IntelliSense filtering [Visual Studio 2017]
N/A
Formatting
- Spacing in and around new constructs
- Spacing options
- Format Document command
Tools > Options settings should be respected
N/A
Automatic Brace Completion (C# only)
- Auto-insert close brace
- Shift+Enter commit of IntelliSense and any pending brace completion sessions (Known issue: #18065)
N/A
Indentation
- Typing Enter in an unfinished statement indents the next line
N/A
Navigating 🔍 ⏩ Go To Definition
- F12 from callsites to definition
- Ctrl+click [Visual Studio 2017 version 15.4]
N/A
Go To Implementation
- Ctrl+F12 to jump from virtual members to their implementations
- Jump from inheritable types to their implementations
N/A
🔍 ⏩ Find All References
- Lists references to a symbol in "Find Symbol Results" window
- Shows results in hierarchy grouped by definition [Visual Studio 2015]
- Results should be groupable/filterable/classified appropriately [Visual Studio 2017]
- Find All References on literals [Visual Studio 2017 version 15.3]
N/A
Viewing 🔍 ⏩ Colorization
- Keywords, literals, and identifiers colored appropriately in code
- Colors should theme appropriately
- The "Blue Theme (Additional Contrast)" should have sufficiently dark colors
N/A
Error Squiggles
- Squiggles appear as expected on reasonable spans
N/A

Code Transformations

Category Feature/Description C# Signoff/Notes VB Signoff/Notes
Refactoring with UI 🔍 Inline Rename (with UI)
- Dashboard shows correct information
- Highlighted spans are updated appropriately
- Rename operation updates the correct set of symbols
N/A
🔍 Change Signature (with UI)
- Updates all direct & cascaded definitions/callsites
- Shows appropriate signature & parameter previews in UI
- Reorder and Remove in the same session [Visual Studio 2015]
N/A
🔍 Extract Interface (with UI)
- Generated Interface has expected shape
- UI shows appropriate method previews
N/A N/A
Generate Type (with UI)
- Dialog gives all valid options
N/A N/A
Generate Overrides [Visual Studio 2017 version 15.3] N/A N/A
Refactorings Rename Tracking
- Tracking span tracks & dismisses as expected
- Invokable from references [Visual Studio 2015]
N/A
🔍 Extract Method
- Extracted method has the expected signature
- All arguments/return values handled correctly
- Extracted code block is reasonable
- Automatically starts Inline Rename
N/A
Introduce Variable
- Introduced variable has the expected signature and initializer expression
- "Introduce for All" correctly finds dupes
N/A N/A
Inline Temporary Variable
- Inlined values are appropriately expanded/reduced
N/A N/A
Organize Usings
- Honors "Place 'System' namespace first" option
N/A N/A
Convert Get* Methods to Properties
Add Description
N/A
🔍 Encapsulate Field
- Select a field and convert it to a property backed by the field
- Try selecting multiple fields at once
N/A N/A
Modifier Ordering [Visual Studio 2017 version 15.5] N/A N/A
Convert ReferenceEquals to is null [Visual Studio 2017 version 15.5] :N/A N/A
Add Missing Modifiers [Visual Studio 2017 version 15.5] N/A N/A
Convert Lambda to Local Function [Visual Studio 2017 version 15.5] N/A N/A
Move Declaration Near Reference [Visual Studio 2017 version 15.5] N/A N/A
Introduce Pattern Matching [Visual Studio 2017 version 15.5] N/A N/A
Simplify Inferred Tuple Names [Visual Studio 2017 version 15.5] Requires C# 7.1 or greater N/A N/A
Convert keyword and symbol references to doc comment tags [Visual Studio 2017 version 15.5] N/A N/A
Fixes Add Using
- Triggers on appropriate constructs
- Including NuGet references
- Including Referenced Assemblies
- Includes spelling fixes
N/A N/A
Generate Local
- Select an expression and introduce a local variable to represent it
- This should start an Inline Rename session
N/A
Generate Field
- Select an expression and introduce a field to represent it
- This should start an Inline Rename session
N/A N/A
Generate Method/Constructor
- Call a nonexistent method or constructor to generate it from its usage
- Generated method has the expected signature and accessibility
- Add parameter to existing constructor from callsite [Visual Studio 2017 version 15.3]
N/A N/A
Generate Constructor from members
- Select fields/properties to generate a constructor accepting corresponding arguments
- Generated constructor has the expected signature and accessibility
N/A N/A
Implement Interface
- Only missing methods added
- All added methods have the expected signature and accessibility
N/A
Implement IDisposable
- Implement IDisposable and you should see a large block of code properly implementing that particular interface
N/A N/A
Implement Abstract Class
- Inherit from an abstract class, and you should be able to auto-generate all of the missing members
N/A N/A
Remove Unused Variables [Visual Studio 2017 version 15.3] N/A N/A
Remove Unused Usings N/A N/A
Sort Usings N/A N/A
Convert Get Methods to Properties
- Name a method GetStuff and convert it to a property called Stuff
N/A N/A
Make Method Async/Sync
- Add an await to a synchronous method, you should be offered to add the async keyword
- Remove all await keywords from an async method, you should be offered to remove the async keyword
N/A N/A
Use Object Initializer Over Property Assignment
- Create a new instance of a type and then assign each of its properties on subsequent lines
- You should be offered to convert that to an object initializer
N/A N/A
Insert Digit Separators [Visual Studio 2017 version 15.3] N/A N/A
Code Gen 🔍 Snippets
- Tab completion, presence in completion list
- Insertion via Snippet Picker UI (Ctrl + K, Ctrl + X) or (Ctrl + K, Ctrl + S)
- (VB) Snippet Picker UI via ?<Tab>
- (VB) Special snippet completion list (p?<esc><tab>)
N/A N/A
Event Hookup on Tab (C# only)
- Type "+=" after an event name and QuickInfo shows
- Invoking should pick good name & launch Inline Rename
N/A N/A
End Construct Generation (VB only)
- Type Sub Test() and hit enter, the End Sub should be generated automatically
N/A N/A
Automatic End Construct Update (VB only)
- Type Sub Test() and End Sub, changing Sub to Function in either one should update the other
N/A N/A
Spell checking
- Type a name that's close to a variable name but off by a character or two
- Lightbulb should have option to fix up the spelling
- Includes type names that will require a using
N/A N/A
Move type to file
- Lightbulb to move type to another file when the type name doesn't match the filename
- Option to change the file name if the type doesn't match the file name
N/A N/A
Convert between properties and Get methods
- Offers to change a method named GetStuff to a property named Stuff
N/A N/A
Convert auto property to full property [Visual Studio 2017 version 15.5] N/A N/A
Add missing cases
Use a switch on a strict subset of an Enum's members
- It should offer to generate the rest of the cases
N/A N/A
Add null checks for parameters [Visual Studio 2017 version 15.3] N/A N/A
Change base for numeric literals [Visual Studio 2017 version 15.3] N/A N/A
Convert if to switch [Visual Studio 2017 version 15.3] N/A N/A
Resolve git merge conflicts [Visual Studio 2017 version 15.3] N/A N/A
Add argument name [Visual Studio 2017 version 15.3 N/A N/A
Fade and remove unreachable code [Visual Studio 2017 version 15.5] N/A N/A
Add missing file banner [Visual Studio 2017 version 15.5] N/A N/A
Deconstruct tuple declaration [Visual Studio 2017 version 15.4] N/A N/A

@VSadov
Copy link
Member Author

VSadov commented Mar 15, 2018

@dotnet/roslyn-compiler - FYI

@VSadov
Copy link
Member Author

VSadov commented Mar 15, 2018

CC:@jaredpar for the merge to dev15.7.x approval.

@VSadov
Copy link
Member Author

VSadov commented Mar 15, 2018

@dotnet-bot test windows_debug_vs-integration_prtest please

@jaredpar
Copy link
Member

Approved

@VSadov
Copy link
Member Author

VSadov commented Mar 15, 2018

Thanks!!

@VSadov VSadov merged commit 7dcb04d into dev15.7.x Mar 15, 2018
@VSadov VSadov deleted the features/stackalloc-init branch March 15, 2018 17:14
jasonmalinowski added a commit to dotnet/dotnet-ci that referenced this pull request Mar 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants