user stats

Member SinceJuly 12, 2006
Last VisitOctober 21, 2014


coordinator for

MySQL Extensions for Phalanger

developer for

.NET Compiler Platform ("Roslyn")


personal statement

Developer at Microsoft.

activity stream

October 28, 2014 - .NET Compiler Platform ("Roslyn"): Committed f7b1f30c8f70f058d969fcc26b61ba2133873e45, PEWriter refactoring: Remove managed resource writer field and pass it as a parameter instead. Replace usage of IEnumerable<byte> with ImmutableArray<byte>. (changeset 1361322)

October 28, 2014 - .NET Compiler Platform ("Roslyn"): Committed 5794eb0a09868e6070f056a8b9b9cd42ca25d288, Apply AsyncStateMachineAttribute and IteratorStateMachineAttribute consistently on async/iterator methods in both C# and VB. Remove DebuggerStepThroughAttribute from these methods - the methods don't contain or call any user code, so this attribute is not needed. VB: Avoid generating async state machine when emitting metadata-only PE. VB: Unify implementation of state machine type symbol creation and synthesis of attributes with C#. (changeset 1360205)

October 7, 2014 - .NET Compiler Platform ("Roslyn"): Posted to discussion: MetadataStreamReference?

October 7, 2014 - .NET Compiler Platform ("Roslyn"): Committed 7fa0b8fcd0e26ff8b88ce113082f675dc3b68f07, Merges MetadataReferenceProvider and MetadataReferenceResolver into a single type. Previously the user had to pass both of these objects to CompilationOptions and the compiler had to call first the resolver to resolve the path specified in #r: string ResolveReference(string reference, string baseFilePath) and then the provider to create the reference: PortableExecutableReference GetReference(string resolvedPath, MetadataReferenceProperties properties) With this change the compiler simply calls on MetadataReferenceResolver: ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string baseFilePath, MetadataReferenceProperties properties) Notice that now the resolver may return multiple references. This is needed to support #r of NuGet packages. We used reference resolvers and providers in many ways for multiple purposes. I left behind the metadata file resolvers and providers to avoid making too many changes, but made them internal. In some cases the usage is legitimate, but still an implementation detail. More cleanup will also be possible once we remove the old scripting API. For now I have worked around all these dependencies. (changeset 1349333)

October 6, 2014 - .NET Compiler Platform ("Roslyn"): Committed d0ea0869c798e3829cbefe7c7bb6720b3924d4b5, Decouple Workspace metadata provider from compiler metadata provider. The service no longer derives directly from MetadataReferenceProvider. Instead the service exposes API to get metadata references and an instance of compiler reference provider. (changeset 1349108)

October 6, 2014 - .NET Compiler Platform ("Roslyn"): Committed cad06f2b5c91f8090abaea48a461d5d81554b796, Implements CR feedback for EmitOptions change: rename EmitOptions.OutputName to OutputNameOverride and adds TolerateErrors and IncludePrivateMembers. (changeset 1348868)

October 6, 2014 - .NET Compiler Platform ("Roslyn"): Committed 042bc6fb08de1e473c8206f5c9f8ecff86baa753, Fixes calls to Compilation.Emit in samples. (changeset 1348627)

October 6, 2014 - .NET Compiler Platform ("Roslyn"): Committed 1621a00f346c04d263f009ad58eba52bec713875, Introduces EmitOptions for options passed to Compilation.Emit(). Moves options that were previously on CompilationOptions but were not used until emit phase to EmitOptions: fileAlignment, baseAddress, highEntropyVirtualAddressSpace, subsystemVersion, runtimeMetadataVersion. They hold on values written to various PE headers. We can now easily add other similar PE flags to EmitOptions, which is a common customer request, without affecting code that works with compilation options in other layers (workspaces, project system, etc.). Removes EmitMeadataOnly method and instead adds a MetadataOnly flag to EmitOptions. Removes MetadataOnlyEmitOptions - they were not used and can now be easily added as bools to EmitOptions. Moves pdbFilePath and outputName from parameters of Emit to EmitOptions. IDE: remove tracking of options that were moved to EmitOptions, since the IDE doesn't care about options that don't affect compilation. (changeset 1348623)

October 5, 2014 - .NET Compiler Platform ("Roslyn"): Committed 0d02f66fbe11b4d7ad5d122b824336bc1a5fb94d, Rename EmitOptions in tests to TestEmitter to avoid name conflicts. (changeset 1348296)

October 5, 2014 - .NET Compiler Platform ("Roslyn"): Committed f07ac60e8e7a8649bfea9d776ceba1c2a8374447, Harden CustomDebugInfoReader. (changeset 1348242)

projects i'm following


No forks.