- 16 2月, 2015 1 次提交
-
-
由 Stephen Toub 提交于
When string concatenation encounters non-strings (e.g. path + '/', name + someInt32, etc.), it calls overloads of String.Concat that accept objects. These overloads then just call ToString on each of the objects, mapping to the C# spec which states that "any non-string argument is converted to its string representation by invoking the virtual ToString method inherited from type object." When any of the individual items being concatenated is a value type, that object first gets boxed to be passed to String.Concat as an object, only to then have ToString called on the boxed object. This commit changes the local rewriter for string concatenation to test whether an argument is of an appropriate type, and if it is, to call ToString on it directly, rather than first boxing it. This can then affect which overload of Concat is used, as the type of the argument has changed to be String. The primary benefit of this is saving the allocation per value-type item. There are some secondary benefits, as well; for example, as there is a four-string overload of Concat but no four-object overload of Concat, if this optimization is able to force all of the items to be strings, the four-string overload can be used rather than allocating an object array for the inputs and then another string array for the resulting strings (inside of Concat). This commit also includes an additional optimization specific to const chars; rather than doing a ToString call at run time, we can do it at compile-time and emit a literal string instead of a literal char, saving both the boxing and the string allocation at run time.
-
- 12 2月, 2015 19 次提交
-
-
由 Vladimir Reshetnikov 提交于
Add skipped test for #399
-
由 Vladimir Reshetnikov 提交于
Add test for string concatenation operator with mutable value types
-
由 Tomas Matousek 提交于
NuGet authoring for Microsoft.DiaSymReader
-
由 Tomas Matousek 提交于
-
由 Wonseok Chae 提交于
VB: Remove unnecessary check for ModuleBuilderOpt during lowering phase
-
由 Jared Parsons 提交于
Exclude mscorlib from Emit test conflict checking
-
由 Andy Gocke 提交于
In the emit tests we currently check every module to see if we're emitting an assembly with a name we've already seen. PeVerify requires that we create a new AppDomain for every conflict we find. However, mscorlib will always produce a conflict, so this ignores mscorlib when checking for a conflict and doesn't create a new AppDomain if it is found during emit.
-
由 Vladimir Reshetnikov 提交于
-
由 Wonseok Chae 提交于
-
由 Wonseok Chae 提交于
-
由 Wonseok Chae 提交于
Use AssertTheseEmitDiagnostics instead of compilation.VerifyEmitDiagnostics to keep the orignal baseline form.
-
由 Heejae Chang 提交于
do not load all diagnostic analyzers in host analyzer references
-
由 Heejae Chang 提交于
we can end up load analyzers for a language that does not even exist in current solution.
-
由 Vladimir Reshetnikov 提交于
-
由 Vladimir Reshetnikov 提交于
-
由 Tomas Matousek 提交于
-
由 Tomas Matousek 提交于
-
由 Brett Forsgren 提交于
properly handle VB Global namespace in DeclaredSymbolInfo
-
由 Jared Parsons 提交于
Add *.wrn to .gitignore
-
- 11 2月, 2015 20 次提交
-
-
由 Manish Vasani 提交于
Add skipped test for https://github.com/dotnet/roslyn/issues/320
-
由 Manish Vasani 提交于
-
由 Manish Vasani 提交于
Fix SimpleDiagnostic GetHashCode is more specific than Equals
-
由 Shyam N 提交于
-
由 Wonseok Chae 提交于
These checks were required for some VB tests, not for product code. By updating VB tests, we can remove them and simplify the lowering phase.
-
https://github.com/dotnet/roslyn/issues/320由 Manish Vasani 提交于
Add skipped test for https://github.com/dotnet/roslyn/issues/320: Possible bug in Batch Fixer merge algorithm.
-
由 Tomas Matousek 提交于
-
由 Srivatsn Narayanan 提交于
Create new projects for System.Runtime.Analyzers
-
由 Heejae Chang 提交于
fix #314 - remove dead code
-
由 Jared Parsons 提交于
It is apparently possible for a test to exit with an error code, produce no HTML file and no output. In that case the call to Aggregate was failing with an exception. Change it to use ToArray + File.WriteAllLines. This won't fix the underlying problem but will at least identify the test that is failing.
-
由 Kevin Halverson 提交于
Substitute generic type arguments for generic frames in the Call Stack Window.
-
由 Heejae Chang 提交于
removed dead code. code I wrote long time ago for specific indenter case is left in code base when it is no longer needed.
-
由 Kevin Halverson 提交于
This change also ensures that we get non-fatal Watson reports when we're in the continuation of a call to get generic type arguments or argument values from the debugee process.
-
由 Paul Harrington 提交于
Fixes #309 (Incremental build fix)
-
由 Matt Warren 提交于
Fix #295
-
由 Paul Harrington 提交于
Review feedback from Jason
-
由 Paul Harrington 提交于
-
由 Jared Parsons 提交于
Program for running tests in parallel
-
由 Jared Parsons 提交于
These suites are failing on a number of machines without this change. Disabling.
-
由 Jared Parsons 提交于
-