- 03 6月, 2015 1 次提交
-
-
由 Andy Gocke 提交于
This change is meant to address crashes like the ones in bug 1140649. The crashes seem to happen due to exceptions thrown while getting a temporary output stream to write the PE file to. I have been unable to reproduce the conditions for the crash themselves -- they only seem to happen on a Japanese language Windows with a Japanese language copy of Visual Studio. This fix addresses their symptom by wrapping the CreateInputStream call during signing with a try/catch and then surfacing the exception as a diagnostic for signing failure. We cannot currently add any more localized resources to stabilization, so this fix is meant to be as targeted as possible and can only deliver information through existing resource strings. (cherry picked from commit 801a10a5)
-
- 20 5月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 19 5月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 25 4月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 21 4月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 16 4月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 15 4月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
Changes ObjectPool leak detection to use simple light-up to get the stack trace (which is nonportable), and fixes a few leaks
-
- 03 4月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 25 3月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
Pass PDB path to PeWriter so that creating debug directory is possible w/o availability of native PDB writer
-
- 19 3月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
-
- 13 3月, 2015 4 次提交
-
-
由 Vladimir Reshetnikov 提交于
-
由 Vladimir Reshetnikov 提交于
-
由 Vladimir Reshetnikov 提交于
-
由 Vladimir Reshetnikov 提交于
-
- 09 3月, 2015 6 次提交
-
-
由 Jared Parsons 提交于
The ISymUnmanagedWriter2 interface does not require a file name be passed. It can successful emit a PDB without it. The only method which actually requires it is GetDebugInfo. The Compilation type will call this member frequently during PDB creation. Hence if we have a Stream only we need to manufacture a name to use for it.
-
由 Jared Parsons 提交于
This change further delays the creation of the PE Stream until the absolute last possible moment.
-
由 Jared Parsons 提交于
This unifies the Stream passing API to prefer EmitStreamProvider over Stream in the Emit APIs. Even though we are not currently taking advantage of the delay creation mechanism for the command line compiler there was a desire to have consistent parameter values where possible. The advantage is it lets us switch to making XML documentation delay created as well with a very small change in the future.
-
由 Jared Parsons 提交于
This causes the compiler to match the native one in terms of PDB behavior. It will only pass along the Stream value to Initialize in the cases where a Stream is explicitly provided. In the other cases, basically the raw command line, it will pass along only the file name. This puts the responsibility of creating / writing the file solely in ISymUnmanagedWriter as it previously was via WritePdbToOutput
-
由 Jared Parsons 提交于
This change takes the following steps: - Changes EmitStreamProvider to wrap a single Stream instead of a group of Stream. - Changes the emit behavior to consider Analyzer errors before attempting to write the PE / PDB Stream to disk.
-
由 Jared Parsons 提交于
When a compilation fails the compiler should not delete or edit the outputs of a previous successful. They should remain around to satisfy scenarios like F5 on build failure. Roslyn implemented this logic by doing the following: - Creating a `Stream` for the assembly / PDB in a temp directory. - Running the compilation. - Moving the `Stream` to the desired output location on success. This introduced a subtle bug into the compiler. When the source + dest of `File.Move` are on the same volume the destination file will end up with the ACLs it got from being created in the source directory. In this example it meant the assembly / PDB had the ACLs of the temp directory not the actual output one. This can produce breaks in cases where the temp and output directory have different inheritable ACLS. This case comes up for instance in ASP.Net. To fix this we are going back to the native compiler behavior here. The creation of the `Stream` objects will be delayed until we are ready to write to disk (happens after the compilation is verified to have no errors). Because this portion of the compiler is on .NET 4.5.2 the Emit layer cannot open the files directly (no file system API to use). Instead we pass down the `EmitStreamProvider` abstraction from the desktop layer and let that control the openning of the files. This change also allows us to remove all of the temp directory logic from the compiler and build protocol. Note: Whether or not to make this entry point a public API is being considered separately from this thread. If we decide to make this public it will be done as a separate follow up change.
-
- 07 3月, 2015 1 次提交
-
-
由 Tomas Matousek 提交于
Use empty array for unspecified public key instead of default(ImmutableArray<byte>) to avoid issues with JSON serialization
-
- 06 3月, 2015 2 次提交
-
-
由 Tomas Matousek 提交于
Enable hosts to compile strong-named assemblies on all platforms by supplying public key via compilation options and also enable OSS signing with such key
-
由 Paul Harrington 提交于
-
- 04 3月, 2015 1 次提交
-
-
由 Paul Harrington 提交于
-
- 21 2月, 2015 1 次提交
-
-
由 Manish Vasani 提交于
-
- 20 2月, 2015 1 次提交
-
-
由 Neal Gafter 提交于
-
- 18 2月, 2015 1 次提交
-
-
由 Omer Raviv 提交于
Calling GetSemanticModel with suppressAccessChecks=true creates a SemanticModel that ignores accessibility rules when answering semantic questions. This allows consumers to ask semantic questions using the same semantic rules as the ones used in debugger’s Expression Evaluator, where accessibility rules do not matter. Added unit tests for C# and VB.NET to cover both regular and speculative analysis.
-
- 14 2月, 2015 2 次提交
-
-
由 Tomas Matousek 提交于
-
由 Manish Vasani 提交于
It ensures the following for the lifetime of analyzer host: 1) DiagnosticAnalyzer.Initialize(AnalysisContext) is invoked only once per-analyzer. 2) DiagnosticAnalyzer.SupportedDiagnostics is invoked only once per-analyzer. 3) CompilationStartAnalyzerActions registered during Initialize are invoked only once per-analyzer per-compilation.
-
- 09 2月, 2015 1 次提交
-
-
由 TomasMatousek 提交于
-
- 27 1月, 2015 1 次提交
-
-
由 jaredpar 提交于
After some discussion between Neal, Sri and myself we decided to make AsyncQueue<T> and CompilationEvent internal. The justification for this was: - At the time there is no need for this type to be public. Ideally the IDE and Compiler would be structured in a way that making it public was needed but for now it is not done that way. - AsyncQueue<T> feels like a type which should be in BCL, not Roslyn. - No concrete need for making this public at the moment. Given that we decided to make it internal for now. One of the main hopes here is we can convince the BCL to take ownership of the AsyncQueue<T>. If we make it public now, even if they add such a type we'd never get to consume it. (changeset 1404591)
-
- 25 1月, 2015 1 次提交
-
-
由 jaredpar 提交于
These were accidentally changed to UTF-16LE during a recent scripted change. This went unnoticed because the encoding change didn't register in CodeFlow (indeed if you view a shelve of this change in CodeFlow it will report no changes). UTF-16 does not work well with Git as it is often interpreted as a binary file. Moving back to UTF-8 so our GitHub experience works well for customers. closes #66 (changeset 1403787)
-
- 24 1月, 2015 1 次提交
-
-
由 beep boop 提交于
Background: As discussed in the dev team all hands all code under the GitHub dotnet foundation is using a single process for contribution, API review, infrastructure and coding style. The idea is to present a unified view to our customer and give them a single story for contributing to any project under the dotnet foundation. https://github.com/dotnet/corefx/wiki/Contributing#c-coding-style The coding style transition is automated using a Roslyn based rewrite tool: https://github.com/dotnet/codeformatter This will be applied in stages across our developer tree. Right now the focus is on the Open directory as this is what is being presented on github. Code owners will be contacted before the transition happens. Note: this is a soft style requirement. There are no build errors that come from this change. (changeset 1403394)
-
- 20 1月, 2015 1 次提交
-
-
由 AlekseyTs 提交于
***NO_CI*** (changeset 1400352)
-
- 15 1月, 2015 1 次提交
-
-
由 jaredpar 提交于
-
- 14 1月, 2015 1 次提交
-
-
由 RoslynTeam 提交于
-
- 09 1月, 2015 3 次提交
-
-
由 RoslynTeam 提交于
Move Compilation.WithAnalyzers out of Compilation and make it an extension method. (changeset 1392997)
-
由 manishv 提交于
AnalyzerDriver is currently tightly coupled with the sequence and kind of CompilationEvents being produced by the compilation. It requires that the first event on the queue is a compilation started event and the final event is the compilation end event. If either of these events are not produced OR are out of expected order then the driver can deadlock. This change cleans this up by: 1) Ignoring the CompilationStartedEvent in the analyzer driver: This event was only triggering initialization of some lazy fields on the driver: compilation, analysis scope, declaration analyzers and event processing task. This code has been refactored into an Initialize method which is triggered in AnalyzerDriver.Create immediately after a new compilation is created with driver's event queue. 2) Clean up ProcessCompilationCompletedAsync: Move the await of syntax tree analyzer tasks and DiagnosticQueue.Complete invocation out of this method into the primary driver task. This method now just invokes all the compilation end actions and doesn't do any post processing. I have also cleaned up the analyzer test framework a bit. (changeset 1392961)
-
由 RoslynTeam 提交于
-
- 07 1月, 2015 1 次提交
-
-
由 TomasMatousek 提交于
Allow PE and PDB streams to be arbitrary writable streams. If the specified stream doesn't fulfill implementation specific requirements of the PE/PDB writer use an intermediate in-memory stream and write its content to the user specified one at the end of emit. Fixes #349. (changeset 1388751)
-