1. 10 11月, 2015 2 次提交
  2. 12 8月, 2015 1 次提交
  3. 15 7月, 2015 3 次提交
  4. 02 7月, 2015 1 次提交
    • J
      CodeFormatter Run · 95a76fb1
      Jared Parsons 提交于
      Fell out of our normal cadence for this during the push for RTM. Now that we
      had a bit more breathing room getting us back on track here.
      95a76fb1
  5. 18 6月, 2015 1 次提交
  6. 03 6月, 2015 2 次提交
    • A
      Catch exceptions when creating a stream for signing · d6a8f32b
      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)
      d6a8f32b
    • A
      Catch exceptions when creating a stream for signing · 801a10a5
      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.
      801a10a5
  7. 12 5月, 2015 1 次提交
  8. 29 3月, 2015 1 次提交
  9. 12 3月, 2015 1 次提交
  10. 06 3月, 2015 1 次提交
  11. 28 2月, 2015 1 次提交
    • B
      Code formatter run · ae1aeb41
      beep boop 提交于
      Been almost a month since the code formatter was run so this change was
      a bit larger than would be expected for a normal (weekly) update.  Diffs
      mostly around:
      
      - Whitespace changes
      - Missing copyright headers
      - Missing visibility modifiers
      ae1aeb41
  12. 25 2月, 2015 1 次提交
  13. 12 2月, 2015 2 次提交
  14. 09 2月, 2015 2 次提交
  15. 01 2月, 2015 1 次提交
    • B
      Complete the style update to the rest of Open\src directory · 995eb372
      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 1408227)
      995eb372
  16. 15 1月, 2015 1 次提交
  17. 14 1月, 2015 2 次提交
    • R
      e315208f
    • P
      Rationalize ByteSequenceComparer. · 4b402939
      pgavlin 提交于
      ByteSequenceComparer has been updated as follows:
      - The implementation of IEqualityComparer<IEnumerable<byte>> has been removed
      - The implementations of IEqualityComparer<{byte[], ImmutableArray<byte>}> are now explicit
      - The various overloads of EqualsValue and GetHashCodeValue have been renamed to Equals and GetHasCode, respectively.
      ***NO_CI***
       (changeset 1395450)
      4b402939
  18. 09 1月, 2015 2 次提交
    • A
      Make tests passing on a non-English OS, even in presence of corresponding... · 673f18e1
      AlekseyTs 提交于
       Make tests passing on a non-English OS, even in presence of corresponding localized resources. In the process several product issues were fixed like:
           - Localized exception messages incorporated into diagnostics by command line compiler are not obeying /preferreduilang switch.
           - Some strings are loaded from resources at the time when diagnostic object is created. Resources are loaded earlier than they could be. When error message is requested, it might not be localized in accordance with the requested culture.
           - When target culture is not provided, DiagnosticInfo objects used as arguments within another diagnostic object are formatted using InvariantCulture, whereas all other arguments use current culture (as expected). Portions of the message are localized to different languages. (changeset 1392630)
      673f18e1
    • T
      Implements a new approach to generating unique synthesized member names (see... · 94711411
      TomasMatousek 提交于
      Implements a new approach to generating unique synthesized member names (see also the attached email).
      
           1) Assigns each member a "member ordinal" - the index in the members array of the containing type. The ordinal is propagated thru lowering rewriters which uses it to make generated names unique.
           2) We no longer calculate "overload ordinal" for names of state machine types, we use the member ordinal of the async/iterator method instead.
           3) Removes GenerateTempNumber from TypeCompiationState. Combination of method ordinal and other indices is used to make generated names unique:
           - Display classes use ordinal of the method containing the lambda and closure scope ordinal (unique within a method). Static display class is shared across all non-generic methods of a containing class and thus doesn't need a unique number in name (it;'s simple named "c<>").
           - Lambda methods include containing method ordinal (unless emitted to a display class whose name already includes it) and lambda ordinal (unique within a method).
           - The same for fields caching lambdas.
           - Dynamic site containers - no longer include method name in the type name, instead method ordinal is used.
      
           4) Expression compiler - rename generated type to "<>x" to avoid confusion with "<>c" static display class.
           5) Avoid replacing "." with "_" in member names, other than type names. While displaying stack frames the EE extracts method name from synthesized lambdas method names and displays it. Thus we were displaying "I_F" instead of "I.F" for explicitly implemented methods.
            In type names replace "." with "-". Replacing with "_" lead to duplicate type names in emitted assembly (2 iterator methods with names "I_F" and "I.F" - explicitly implemented iface method). (changeset 1390962)
      94711411
  19. 07 1月, 2015 2 次提交
  20. 06 10月, 2014 1 次提交
  21. 02 10月, 2014 1 次提交
    • T
      This shelveset implements following changes to metadata reference compiler API... · 4fc808ea
      TomasMatousek 提交于
      This shelveset implements following changes to metadata reference compiler API in order to remove duplication in the public surface and prevent users from unexpected metadata lifetime issues:
      
           1) MetadataImageReference and MetadataFileReference overlap
           Currently MetadataImageReference can be constructed from a Stream. MetadataImageReference supports metadata prefetch (reading the blob into memory and close the underlying stream) as well deferred reading (no content is read until the reference is consumed during compilation). MetadataFileReference only supports deferred reading.
      
           Lifetime of MetadataFileReference is non-deterministic, the underlying file is locked until no references exist and we GC the metadata.  On the other hand, it is possible to construct MetadataImageReference in such a way that allows controlling the underlying resources deterministically.
      
           Remove MetadataFileReference, use MetadataImageReference instead.
      
           2) Lifetime management
           AssemblyMetadata and ModuleMetadata objects hold on resources and implement IDisposable. When using MetadataFileReference constructors and some MetadataImageReference constructors to create references the underlying metadata objects are created implicitly and the user doesn’t have a way to explicitly dispose them.
      
           Make MetadataImageReference constructors internal and instead add factory method GetReference on AssemblyMetadata/ModuleMetadata. The usage pattern is:
      
           using (var metadata = AssemblyMetadata.CreateFromXxx(…))
           {
               var compilation = CSharpCompilation.Create(syntaxTrees, new[] { metadata.GetReference() });
               …
           }
      
           In addition the shelveset makes MetadataImageReference internal and adds the following convenience APIs, that are not the most efficient but are very convenient, easy to discover and safe to use for customers that don’t wanna explicitly manage the lifetime of metadata objects. (changeset 1345987)
      4fc808ea
  22. 15 8月, 2014 1 次提交
    • T
      Reduce the variety of optimization related compilation option values used in... · f58f5ab8
      TomasMatousek 提交于
      Reduce the variety of optimization related compilation option values used in tests to: Release, DebuggableRelease and Debug.
      
      By default tests should use Release, which enables all optimizations.
      PDB tests should mostly use Debug.
      We should have targeted tests for DebuggableRelease, for optimizations that are selectively disabled to improve debuggability of release builds.
      
         (changeset 1312277)
      f58f5ab8
  23. 12 7月, 2014 1 次提交
    • T
      To support EnC well the compiler needs to carefully distinguish between... · d4b0a867
      TomasMatousek 提交于
      To support EnC well the compiler needs to carefully distinguish between long-lived and short-lived synthesized variables. Long-lived variables may cross sequence points and thus need to be mapped the the corresponding variables in the previous generation when emitting EnC deltas. Short-lived local variables shall never cross sequence points.
      
      This change revisits helpers that create synthesized variables and assigns each synthesized variable a SynthesizedLocalKind. Negative kind values are reserved for short-lived variables, positive values for long-lived variables.
      
      The change removed the option to give a synthesized variable an explicit name. The names of the variables are assigned at code-gen time based on their SynthesizedLocalKind. This is to enforce that the names of long-lived variables follow a naming pattern that allows use to reverse-engineer the SynthesizedLocalKind value from the variable name.
      
      Also renames DebugInformationKind.PDBOnly to DebugInformationKind.PdbOnly to follow .NET naming guidelines.
       (changeset 1293017)
      d4b0a867
  24. 02 7月, 2014 1 次提交
  25. 15 4月, 2014 1 次提交
  26. 03 4月, 2014 1 次提交
  27. 22 3月, 2014 1 次提交
    • A
      DevDiv #906494: Overload resolution diagnostic reporting · 97c4a9f1
      acasey 提交于
      We were throwing unreachable when we fell out the bottom of some complicated error handling code and Tomas hit it while dogfooding.  We were unable to determine the path that resulted in the crash, but there were enough problems that a more comprehensive cleanup seemed desirable.  The catch-all diagnostic is now checked last and actually serves as a catch-all.
      
      Miscellaneous improvements:
      1) Eliminated MemberCouldTakeArgumentCount which was trying to approximate overload resolution.
      2) Standardized mechanism for iterating of list of candidates.
      3) Eliminated MemberResolutionKind.BadGenericArity.  Comments explicitly stated that it was never used.
      
      CR: AlekseyT (changeset 1211059)
      97c4a9f1
  28. 19 3月, 2014 1 次提交