- 17 9月, 2019 5 次提交
-
-
由 Tomáš Matoušek 提交于
* Misc cleanup * Reuse previously resolved missing assembly metadata objects when identity doesn't match Background When the compiler is resolving compilation references and encounters a reference whose assembly identity does not match any of the explicitly given references it falls back to a Reference Resolver. In regular compilation an error is reported since there is no Reference Resolver. Interactive compiler supplies a resolver that attempts to find the missing reference. Once the missing reference is found the compiler adds it to the list of implicitly resolved assemblies and if the same missing assembly identity is referenced later (by a subsequent submission) it reuses the assembly symbol from this list, so that we don't end up loading multiple instances of the same missing assembly. [1] The resolver may find an assembly that matches the name of the missing reference but doesn't match the version exactly. This is expected as a newer version of the assembly may be available than was referenced and the compiler correctly binds to the newer version. Issues The first submission added a reference to a netstandard20 library on .NET Core and the subsequent submission referenced a type from that library. The reference resolution in the compilation corresponding to the second submission ended up adding a new, distinct reference to the library, instead of reusing the one that was already resolved for the first submission compilation. This was caused by mismatch in versions of some of the facades transitively referenced by the library thru netstandard.dll reference and resolved thru the missing reference resolution mechanism. The facades ware referenced with different versions than the actual versions available in the set of references the Reference Resolver resolved missing references from. The compiler ended up using two distinct instances of the same facade assembly metadata. An assembly symbol is only reused if all its transitively referenced assemblies match. In this case the library assembly symbol wasn't reused because some of the facade assembly symbols did not match. The problem was that the mechanism [1] didn't reuse missing assembly metadata with a different version than what was requested. The fix is to check whether we have seen an assembly with the resolved identity in addition to the requested identity. Another issue found during testing is handing resolution failures. We did not remember that a resolution of a given assembly identity failed and attempted to resolve the assembly again in the next submission. This may lead to inconsistencies and the same "can't convert T to T" errors since first submission might have a missing assembly symbol and next might create a real assembly symbol for the same assembly identity. The fix is to capture both successful and failed resolution results. * Do not add resolved identity entry to implicit reference resolutions
-
由 Manish Vasani 提交于
Bump up flow analysis utilities version
-
https://github.com/dotnet/arcade由 dotnet-maestro[bot] 提交于
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19463.3
-
由 Jared Parsons 提交于
Issue #31417: Add SARIF v2.1.0 support
-
由 Manish Vasani 提交于
Use the latest flow analysis utilities package
-
- 15 9月, 2019 2 次提交
-
-
由 Sam Harwell 提交于
🐛 Fix Type/Constructor deduplication in Find All References -
由 Sam Harwell 提交于
Fix inconsistencies with nullability annotations in the BCL
-
- 14 9月, 2019 4 次提交
-
-
由 Rikki Gibson 提交于
-
由 Larry Golding 提交于
-
由 Sam Harwell 提交于
Fix formatting
-
由 Charles Stoner 提交于
-
- 13 9月, 2019 18 次提交
-
-
由 dotnet-bot 提交于
-
https://github.com/dotnet/arcade由 dotnet-maestro[bot] 提交于
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19462.5
-
由 Manish Vasani 提交于
Fix OOM from SymbolUsageAnalysis
-
由 Joey Robichaud 提交于
Merge release/dev16.4-preview1 to master
-
由 Andrew Hall 提交于
Change the automation type for inline rename dialog so JAWS will read the description
-
由 Fred Silberberg 提交于
Spelling fixes
-
由 Neal Gafter 提交于
Fixes #38226
-
由 Manish Vasani 提交于
Refactor code, add unit test and ensure that we use different block analysis data instances for fall through successor and conditional successor.
-
由 Larry Golding 提交于
-
由 Joey Robichaud 提交于
Naming Styles options page accessibility fixes
-
由 nnpcYvIVl 提交于
-
由 nnpcYvIVl 提交于
-
由 Gen Lu 提交于
Fix a memory leak in BackgroundCompiler
-
由 nnpcYvIVl 提交于
-
由 nnpcYvIVl 提交于
-
由 nnpcYvIVl 提交于
-
由 nnpcYvIVl 提交于
-
由 Andrew Hall 提交于
Don't include nullable type information for object creation completion
-
- 12 9月, 2019 11 次提交
-
-
https://github.com/dotnet/arcade由 dotnet-maestro[bot] 提交于
- Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19461.7
-
由 Manish Vasani 提交于
We were allocating large number of BasicBlockAnalysisData instances during Merge operations when performing symbol usage analysis for locals/parameters, and holding onto these until the whole method has been analyzed before returning them to a shared pool. This approach works fine for most cases, except for extremely large methods with large number of local variables, such that the analysis needs multiple flow analysis iterations over the CFG. This PR fixes this issue by returning the allocated BasicBlockAnalysisData instances during Merge operations immediately back to the shared pool. I also added another optimization to reduce the size of tracked per-basic block analysis data by removing tracking locals as and when they go out of analysis scope. Fixes #38650
-
由 Joey Robichaud 提交于
Merge release/dev16.4-preview1 to master
-
由 dotnet-automerge-bot 提交于
Merge release/dev16.3 to release/dev16.4-preview1
-
由 Joey Robichaud 提交于
-
由 Joey Robichaud 提交于
Update version and publish data for 16.4 P1 snap
-
由 Joey Robichaud 提交于
-
由 Andrew Hall (METAL) 提交于
-
由 Gen Lu 提交于
-
由 Joey Robichaud 提交于
-
由 Andrew Hall (METAL) 提交于
-