1. 02 7月, 2015 1 次提交
  2. 09 6月, 2015 1 次提交
  3. 05 6月, 2015 1 次提交
  4. 04 6月, 2015 1 次提交
  5. 02 6月, 2015 1 次提交
  6. 20 5月, 2015 1 次提交
  7. 19 5月, 2015 1 次提交
  8. 16 5月, 2015 1 次提交
    • M
      Add a new command line compiler switch "/reportanalyzer" to report analyzer... · 3de55924
      Manish Vasani 提交于
      Add a new command line compiler switch "/reportanalyzer" to report analyzer execution times. Output is grouped by analyzer assemblies and is displayed in descending order of execution times.
      
      NOTE: We do not display the total build time or the ratios between build time and analyzer execution time as the the actual wall clock time for analyzer execution is likely lesser due to multithreaded analyzer execution.
      3de55924
  9. 09 5月, 2015 1 次提交
  10. 30 4月, 2015 1 次提交
  11. 15 4月, 2015 1 次提交
    • J
      CoreFx work · 36707f7c
      Jared Parsons 提交于
      This changes the following:
      
      - Changed the fallback encoding for EncodedStringText to Latin1 instead
      of code page 1252.  The latter is not supported on CoreCLR so using the
      more general Latin1.
      - Change the VB compiler code base to be CoreCLR compatible as well.
      36707f7c
  12. 14 4月, 2015 1 次提交
    • J
      Explicitly pass SDK path to compilers · 59e57b4f
      Jared Parsons 提交于
      This changes the compiler APIs to no longer use
      RuntimeVersion.GetRuntimeDirectory to find the path to mscorlib and
      System.dll for the following reasons:
      
      - This API is not available in CoreFx and hence blocks our transition.
      - This behavior of implicitly referencing mscorlib doesn't have a
      logical equivalent in coreclr where there may be no reachable mscorlib
      on the machine (think Linux).
      
      The compiler now takes the SDK search directory as a paramater.  The
      consmer will be responsible for feeding down the correct value to the
      compiler.
      
      This is the first step in resolving issue #1939
      
      closes #1943
      59e57b4f
  13. 18 3月, 2015 1 次提交
  14. 11 3月, 2015 1 次提交
  15. 06 3月, 2015 2 次提交
  16. 03 3月, 2015 1 次提交
    • V
      Removed file locking when opening resouce files. · 7d0c8e54
      VSadov 提交于
      The file locking cannot be consistently guaranteed on multiple platform, on remote files, when builds share process via compile server vs. running separately.
      Besides we are unable to handle sharing conflicts regardless, so at best the locking was serving only diagnostical purposes.
      7d0c8e54
  17. 28 2月, 2015 1 次提交
    • T
      VB command line options should override rule sets · d94f503a
      Tom Meschter 提交于
      VB has the same problem where a rule turned on in a rule set file will
      not be promoted to errors as you expect when using `/WarnAsError`. To
      fix that, `/WarnAsError` now explicitly promotes warnings from rule set
      files into errors. To accomplish this without breaking existing behavior
      around `/WarnAsError` and `/NoWarn`, we implement the following
      hierarchy of settings:
      
      1. Specific `/NoWarn` arguments, in order
      2. Specific `/WarnAsError` arguments, in order
      3. General `/NoWarn` and `/WarnAsError` arguments, in order
      4. Rule set file settings
      d94f503a
  18. 15 1月, 2015 1 次提交
  19. 14 1月, 2015 3 次提交
    • A
      Enable command line compiler to produce XML doc comment file and embed it as a... · 94d9c892
      AlekseyTs 提交于
      Enable command line compiler to produce XML doc comment file and embed it as a manifest resource at the same time. Fixes #444. (changeset 1396823)
      94d9c892
    • R
      e315208f
    • T
      Expose additional files as SourceTexts rather than Streams. · f0afeb65
      tmeschter 提交于
      Currently, analyzers can access the additional files passed in to the compiler through the AnalyzerOptions.AdditionalStreams property, which returns an ImmutableArray<AdditionalStream>. AdditionalStream just wraps a Stream, and a path to the file.
      
      Exposing these files as Streams is problematic for the diagnostic author. We always meant for these additional files to be additional *text* files, and not binary files. As such, Stream is too general a type to represent them. This makes it harder for diagnostic authors to consume additional files. They need to handle opening the stream, supplying the correct encoding, (possibly) splitting up the lines, and handling any errors that might arise while doing so.
      
      This breaking change replaces AdditionalStream with AdditionalText in the portable part of the compiler layer. The derived types AdditionalFileStream (compiler desktop) and AdditionalDocumentStream (workspace layer) have become AdditionalTextFile and AdditionalTextDocument, respectively. The compiler layer now handles reading the additional file contents into SourceTexts, as well as any errors that result.
       (changeset 1396073)
      f0afeb65
  20. 09 1月, 2015 1 次提交
    • 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
  21. 07 1月, 2015 3 次提交
  22. 24 12月, 2014 1 次提交
    • M
      Fix for bug 1094337: Remove /option switch in command line compilers and... · 5566daaf
      manishv 提交于
      Fix for bug 1094337: Remove /option switch in command line compilers and remove global options and culture on AnalyzerOptions
      
      Remove "/option" command line switch added for custom key-value pair analyzer options. There is no way to specify these options in the msbuild project file, so we will just revert the command line support and add it back once the end-to-end scenario is implemented for analyzer options.
      
      Additionally, also remove the Culture passed into the analyzer options. Diagnostic analyzer authors need not report localized diagnostics, just localizable diagnostics, which can be localized for any given culture by the analyzer host (IDE/command line compiler). (changeset 1384781)
      5566daaf
  23. 04 12月, 2014 1 次提交
  24. 11 11月, 2014 1 次提交
    • N
      Remove LanguageVersion.Experimental · 512bc402
      nmgafter 提交于
      The principal change here is to remove the language version "experimenal." However, there are a number of places in the code where we either set the language version to experimental or check whether experimental features are enabled. Those are largely vestigal at the moment as we have no experimental features. However as soon as we add experimental features that code will once again be useful. Rather than deleting that code now, I wanted to leave it in and make it easy to find and update as features are added. So I'm adding a stubbed implementation of the API proposed for future use for enabling experimental features.
      
      After Dev14 our plan is to have experimental features enabled one-by-one rather than all under a single umbrella "experimental" flag. Since language features affect the parser, this is part of the parse options. This changeset adds a stubbed version of the proposed APIs:
      
      public class ParseOptions
      {
          /// <summary>
          /// Enable some experimental language features for testing.
          /// </summary>
          public ParseOptions WithFeatures(IEnumerable<KeyValuePair<string, string>> features);
      
          /// <summary>
          /// Returns the experimental features.
          /// </summary>
          public abstract IReadOnlyDictionary<string, string> Features
          {
              get;
          }
      } (changeset 1369555)
      512bc402
  25. 17 10月, 2014 1 次提交
  26. 07 10月, 2014 2 次提交
    • T
      Implements CR feedback for EmitOptions change: rename EmitOptions.OutputName... · cad06f2b
      TomasMatousek 提交于
      Implements CR feedback for EmitOptions change: rename EmitOptions.OutputName to OutputNameOverride and adds TolerateErrors and IncludePrivateMembers.  (changeset 1348868)
      cad06f2b
    • T
      Introduces EmitOptions for options passed to Compilation.Emit(). · 1621a00f
      TomasMatousek 提交于
           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)
      1621a00f
  27. 06 10月, 2014 1 次提交
  28. 02 10月, 2014 2 次提交
    • 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
    • T
      763c91ef
  29. 26 9月, 2014 1 次提交
    • T
      AssemblyMetadata and ModuleMetadata factories should not read the content of... · 06979fd8
      TomasMatousek 提交于
       AssemblyMetadata and ModuleMetadata factories should not read the content of the PE file/metadata blob.
      
           Currently the factories read the headers, Assembly and Modules tables, which might result in BadImageFormatException being thrown. This exception is not turned into a compilation diagnostic because it happens before the compilation is created. A user of the Roslyn API thus needs to handle these errors in two places (as an exception and as a diagnostics). The content reading should be deferred until the AssemblyMetadata/ModuleMetadata is queried for content.
      
           This change defers metadata/PE headers reading and decoding until the AssemblyMetadata and ModuleMetadata properties/methods are called.
           For metadata created from files it aims to match the usage pattern of other APIs working with FileStream. The metadata factory opens the file, which might throw IO exception, but doesn't start reading the stream until the compiler asks for it, therefore it doesn't throw BadImageFormatException. The functionality is equivalent to the user opening a FileStream and creating metadata from that stream (except for a slight complication with multi-module assemblies, which are rare). Thus the API for metadata creation are consistent among in-memory byte array, stream, and file path.  (changeset 1342462)
      06979fd8
  30. 25 9月, 2014 3 次提交
  31. 10 9月, 2014 1 次提交