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

FI #6

Merged
merged 265 commits into from
Jul 1, 2016
Merged

FI #6

merged 265 commits into from
Jul 1, 2016

Conversation

ljw1004
Copy link
Owner

@ljw1004 ljw1004 commented Jul 1, 2016

No description provided.

AlekseyTs and others added 30 commits May 28, 2016 21:28
Changed syntax model to reuse VariableDeclarationSyntax for out variable declarations.
Merge remote-tracking branch 'upstream/future' into 'upstream/features/outvar'
Adjusted behavior of CSharpSyntaxGenerator and added some explicitly written code to achieve the following for the Syntax Model:
- Factory static ArgumentSyntax Argument(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, CSharpSyntaxNode expressionOrDeclaration) will be internal.
- Factory static ArgumentSyntax Argument(CSharpSyntaxNode expressionOrDeclaration) will be internal.
- There will be the following public factories:
public static ArgumentSyntax Argument(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, ExpressionSyntax expression)
public static ArgumentSyntax Argument(ExpressionSyntax expression)
public static ArgumentSyntax Argument(NameColonSyntax nameColon, SyntaxToken outKeyword, VariableDeclarationSyntax declaration)
public static ArgumentSyntax Argument(SyntaxToken outKeyword, VariableDeclarationSyntax declaration)
- Update method ArgumentSyntax Update(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, CSharpSyntaxNode expressionOrDeclaration) will be internal.
- There will be the following public update methods:
public ArgumentSyntax Update(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, ExpressionSyntax expression)
public ArgumentSyntax Update(NameColonSyntax nameColon, SyntaxToken outKeyword, VariableDeclarationSyntax declaration)
- With method ArgumentSyntax WithExpressionOrDeclaration(CSharpSyntaxNode expressionOrDeclaration) will be internal.
- There will be the following public With methods:
public ArgumentSyntax WithNameColon(NameColonSyntax nameColon)
public ArgumentSyntax WithRefOrOutKeyword(SyntaxToken refOrOutKeyword)
public ArgumentSyntax WithExpression(ExpressionSyntax expression)
public ArgumentSyntax WithDeclaration(VariableDeclarationSyntax declaration)
- Property CSharpSyntaxNode ExpressionOrDeclaration will be internal.
- Instead there will be the following public properties (one of them will return null depending on the value of ExpressionOrDeclaration):
public ExpressionSyntax Expression
public VariableDeclarationSyntax Declaration
- Factory, Update and With methods should provide stronger validation:
a) ExpressionOrDeclaration must either be an ExpressionSyntax, or a VariableDeclarationSyntax;
b) Declaration must be combined with out keyword;
c) Declaration must have single VariableDeclarator;
d) VariableDeclarator must have null ArgumentList and null Initializer.
Finalizing Syntax Model for Out Variable Declarations.
Also, added tests for Out Variables Declarations within attribute applications.
Allowed Out Variables Declarations in constructor initializers.
Port CoreFX dependency changes to future-st
Porting CoreFX version variables from stabilization
Generalize the version update script, add support for LKG
mattwar and others added 29 commits June 28, 2016 12:49
Updating the InteractiveWindow ClipboardTests to match the expected clipboard format in Update 3.
Report errors and exceptions from source generators
Expanded the Condition check to verify the input file is non-empty.  Lacking this we get the following spurious entries in our MSBuild output files:

```
GenerateSyntaxModel:
Skipping target "GenerateSyntaxModel" because it has no outputs.
``

Adding the condition removes this entry and makes our build log files just a bit more readable.
Add check for empty/no change
Expand condition on our command line generator Tasks
Ensure the right binder is used to bind initializer of implicitly typed variable.
Skipping the InteractiveWindow Clipboard UnitTests as they cannot run on VS2015.2
When present this option will clean out all of the NuGet caches before doing a restore.

This is necessary to remove our hard coded dependencies on NuGet.exe in our official builds.  Once they are removed we can switch to dowloading NuGet.exe on demand vs. checking it into the repo.
Move SourceGenerator to a feature branch
Add a /clean option to Restore.cmd
Download NuGet.exe instead of having it checked in
After extensive testing it appears the number of places that assume NuGet.exe is in the root is "at least one more."  Need to unblock the signed build so putting it back in the root temporarily.
Move NuGet.exe restore location back to the root
* Merge pull request #12041 from heejaechang/buildsyncrace

found one more case where documentId can be null

* prevent VS from crashing if VS got shutdown while build error reporting is in progress.

* Update our NuGet package version to 1.3.2

* Update Microsoft.DiaSymReader.Native to 1.4.0 RTM (#12141)

* Enable building of release nuget packages.

This commit makes it so that we will always try to generate release nugets except if they depend on prerelease packages. If one of our nuget packages happens to depend on prerelease packages, then when building release nugets, we will simply print a message in the build output and skip release nuget generation for that package (and allow the overall build to succeed).

* Address code review feedback.

* Simplify script to use nuget.exe for prerelease dependency validation instead of adding custom logic in the script for this.

* Remove Microsoft.CodeAnalysis.EditorFeatures from list of prerelease nuget packages.

* Change the name of the error log file to skipped_packages.txt.

* fixed DifferenceViewer leak

this leak was responsible for about 14% of managed memory in customer's dump.

basically, in certain condition, if cancellation exception is thrown, we will not close difference viewer which cause
all text views to leak. that cause all taggers and text buffers to leak and that cause our preview workspaces to alive.
which in turn cause all solutions to alive and so on. all those objects (view, buffer, workspace, solution) are quite
big graphs. so ends up eat up 14% of memory.

added assert to make sure if we leak viewers again, we get some kind of notification.
@ljw1004 ljw1004 merged commit 424da4a into ljw1004:master Jul 1, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.