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
Merged
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
9c31503
Implement stackalloc initializers
alrz Jan 25, 2018
1ff896d
Update resources
alrz Jan 26, 2018
edc09fc
Address test failures
alrz Jan 26, 2018
cf00fbe
Visit initializer elements in flow analysis
alrz Jan 31, 2018
9e86f06
Whitespaces.
alrz Feb 1, 2018
2a65a3d
Explicitly import ImmutableArray extensions
alrz Feb 1, 2018
27253fa
Revert code.
alrz Feb 1, 2018
9ef4752
Avoid binding the initializer twice
alrz Feb 1, 2018
6e9010a
Fix up formatting
alrz Feb 1, 2018
47a58ff
Add flowpass tests
alrz Feb 1, 2018
d641f40
Clean up tests
alrz Feb 1, 2018
aa4b04d
Fix typo
alrz Feb 1, 2018
7ff7236
Revert code.
alrz Feb 8, 2018
facb834
Add parsing test for bad implicit stackalloc
alrz Feb 8, 2018
f95fb81
Test stackalloc in catch and finally
alrz Feb 8, 2018
6584454
Whitespaces.
alrz Feb 8, 2018
974ee8b
Add more best type tests
alrz Feb 8, 2018
dde9175
Verify execution order
alrz Feb 8, 2018
1eb9599
Assert symbols
alrz Feb 8, 2018
b2a28eb
Emit element-wise assignments for anything larger than byte
alrz Feb 8, 2018
c13dd3a
Revert code.
alrz Feb 8, 2018
9c5a72e
Clean up.
alrz Feb 8, 2018
442c0d7
Add braces.
alrz Feb 8, 2018
779ff18
Assert symbol from syntax
alrz Feb 8, 2018
916304f
Merge pull request #24249 from alrz/features/stackalloc-init
VSadov Feb 8, 2018
0f92e1d
Share code.
alrz Feb 9, 2018
1f8a00f
Use initblk whenever possible regardless of type size
alrz Feb 17, 2018
5836dda
Address test failures
alrz Feb 17, 2018
8e467f4
PR feedback
alrz Feb 21, 2018
d06666d
Merge pull request #24915 from alrz/stackalloc-initblk
VSadov Feb 21, 2018
130659f
Create testplan doc for stackalloc initializers.
VSadov Feb 22, 2018
82f521c
[stackalloc-init] Improve error tolerance when parsing invalid implic…
alrz Feb 27, 2018
1e681a5
Add more tests.
alrz Feb 27, 2018
2037b29
Delete stackalloc_initializers.md
alrz Mar 1, 2018
a1a7258
PR feedback
alrz Mar 2, 2018
1c292ee
Merge pull request #25101 from alrz/stackalloc-init-tests
VSadov Mar 5, 2018
44c96b9
Merge pull request #25309 from dotnet/merges/dev15.7.x-to-features/co…
Shyam-Gupta Mar 7, 2018
0fdddd9
Renamings
alrz Mar 9, 2018
3eb28cc
Add symbol tests
alrz Mar 9, 2018
07ca909
Add capture test
alrz Mar 9, 2018
3a3ed9b
Merge remote-tracking branch 'origin/features/compiler' into stackall…
alrz Mar 9, 2018
b9b337f
Follow-up on merge from 'features/compiler' into stackalloc-init
alrz Mar 9, 2018
29092d4
Add IOperation tests
alrz Mar 9, 2018
3d07cef
Add symbol tests for error cases
alrz Mar 10, 2018
b4d5380
Merge pull request #25382 from alrz/stackalloc-init-api
VSadov Mar 11, 2018
575e457
Merge remote-tracking branch 'origin/features/stackalloc-init' into s…
alrz Mar 12, 2018
6d45baf
Fix up IOperation test
alrz Mar 12, 2018
5952447
Merge pull request #25384 from alrz/stackalloc-init-merge
VSadov Mar 12, 2018
3925afd
Merge remote-tracking branch 'upstream/dev15.7.x' into stackallocMerge
VSadov Mar 12, 2018
4258cf3
Merge pull request #25430 from VSadov/stackallocMerge
VSadov Mar 13, 2018
6fee994
merge from dev15.7.x to features/stackalloc-init
VSadov Mar 14, 2018
bd0c63c
Updated error IDs after merge
VSadov Mar 14, 2018
b144b34
Merge pull request #25474 from VSadov/inits01
VSadov Mar 14, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix typo
alrz committed Feb 1, 2018
commit aa4b04d06975c7313a9b6f06d03e7e6bd65c219a
2 changes: 1 addition & 1 deletion src/Compilers/CSharp/Portable/CSharpResources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/CSharpResources.resx
Original file line number Diff line number Diff line change
@@ -5254,6 +5254,6 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<value>Arguments with 'in' modifier cannot be used in dynamically dispatched expessions.</value>
</data>
<data name="IDS_FeatureStackAllocInitializer" xml:space="preserve">
<value>stackalloc initilizer</value>
<value>stackalloc initializer</value>
</data>
</root>
</root>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.cs.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Pokud chcete odstranit toto varování, můžete místo toho použít /reference
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.de.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Um die Warnung zu beheben, können Sie stattdessen /reference verwenden (Einbett
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.es.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Para eliminar la advertencia puede usar /reference (establezca la propiedad Embe
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.fr.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Pour supprimer l'avertissement, vous pouvez utiliser la commande /reference (dé
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.it.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Per rimuovere l'avviso, è invece possibile usare /reference (impostare la propr
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ja.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ko.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.pl.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Aby usunąć ostrzeżenie, możesz zamiast tego użyć opcji /reference (ustaw w
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.pt-BR.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Para incorporar informações de tipo de interoperabilidade para os dois assembl
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.ru.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.tr.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ Uyarıyı kaldırmak için, /reference kullanabilirsiniz (Birlikte Çalışma T
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hans.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
4 changes: 2 additions & 2 deletions src/Compilers/CSharp/Portable/xlf/CSharpResources.zh-Hant.xlf
Original file line number Diff line number Diff line change
@@ -8611,8 +8611,8 @@ To remove the warning, you can use /reference instead (set the Embed Interop Typ
<note />
</trans-unit>
<trans-unit id="IDS_FeatureStackAllocInitializer">
<source>stackalloc initilizer</source>
<target state="new">stackalloc initilizer</target>
<source>stackalloc initializer</source>
<target state="new">stackalloc initializer</target>
<note />
</trans-unit>
</body>
Original file line number Diff line number Diff line change
@@ -790,13 +790,13 @@ void M()
}", options: TestOptions.UnsafeReleaseDll, parseOptions: parseOptions).VerifyDiagnostics(
// (7,24): error CS8107: Feature 'stackalloc initilizer' is not available in C# 7.0. Please use language version 7.3 or greater.
// Span<int> x1 = stackalloc int[1] { 2 };
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initilizer", "7.3").WithLocation(7, 24),
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initializer", "7.3").WithLocation(7, 24),
// (8,24): error CS8107: Feature 'stackalloc initilizer' is not available in C# 7.0. Please use language version 7.3 or greater.
// Span<int> x2 = stackalloc int[] { 2 };
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initilizer", "7.3").WithLocation(8, 24),
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initializer", "7.3").WithLocation(8, 24),
// (9,24): error CS8107: Feature 'stackalloc initilizer' is not available in C# 7.0. Please use language version 7.3 or greater.
// Span<int> x3 = stackalloc [] { 2 };
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initilizer", "7.3").WithLocation(9, 24)
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initializer", "7.3").WithLocation(9, 24)
);
}

Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ public StackAllocInitializerTests(ITestOutputHelper output) : base(output) { }
public void StackAllocInitializer_01()
{
UsingExpression("stackalloc int[] { 42 }", options: TestOptions.Regular7,
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initilizer", "7.3").WithLocation(1, 1));
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initializer", "7.3").WithLocation(1, 1));
N(SyntaxKind.StackAllocArrayCreationExpression);
{
N(SyntaxKind.StackAllocKeyword);
@@ -53,7 +53,7 @@ public void StackAllocInitializer_01()
public void StackAllocInitializer_02()
{
UsingExpression("stackalloc int[1] { 42 }", options: TestOptions.Regular7,
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initilizer", "7.3").WithLocation(1, 1));
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initializer", "7.3").WithLocation(1, 1));
N(SyntaxKind.StackAllocArrayCreationExpression);
{
N(SyntaxKind.StackAllocKeyword);
@@ -90,7 +90,7 @@ public void StackAllocInitializer_02()
public void StackAllocInitializer_03()
{
UsingExpression("stackalloc[] { 42 }", options: TestOptions.Regular7,
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initilizer", "7.3").WithLocation(1, 1));
Diagnostic(ErrorCode.ERR_FeatureNotAvailableInVersion7, "stackalloc").WithArguments("stackalloc initializer", "7.3").WithLocation(1, 1));
N(SyntaxKind.ImplicitStackAllocArrayCreationExpression);
{
N(SyntaxKind.StackAllocKeyword);