1. 11 10月, 2014 1 次提交
    • T
      Remove duplicate package references. · 8fef5b5d
      tmeschter 提交于
      When our projects were last updated to a newer version of Microsoft.Net.ToolsetCompilers, NuGet didn't replace the old version--it just put the new version next to it. Every project ended up referencing both versions, and which set of compiler binaries "won" depended on the order they appeared in the project file. So different projects built with different compilers.
      
      This change strips out all references to the old version. (changeset 1352054)
      8fef5b5d
  2. 10 10月, 2014 1 次提交
  3. 07 10月, 2014 1 次提交
    • 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
  4. 06 10月, 2014 1 次提交
  5. 25 9月, 2014 2 次提交
  6. 10 9月, 2014 2 次提交
  7. 15 8月, 2014 1 次提交
    • T
      Make InMemoryAssemblyLoader an implementation detail. · 42d68a11
      tmeschter 提交于
      The InMemoryAssemblyLoader type is only meant to be used by AnalyzerFileReference, and this changes makes it a private subtype. All of the relevant functionality--the AssemblyLoad event, and access to the Assembly itself--is now exposed through AnalyzerFileReference. (changeset 1314512)
      42d68a11
  8. 05 8月, 2014 1 次提交
    • K
      Moving NuGet.targets import to be last. · 9bf4a3b3
      kayleh 提交于
      MSBuild unconditionally overwrites the value of BuildDependsOn in Microsoft.Common.CurrentVersion.targets:
        <PropertyGroup>
          <BuildDependsOn>
            BeforeBuild;
            CoreBuild;
            AfterBuild
          </BuildDependsOn>
        </PropertyGroup>
      
      So NuGet.targets needs to be included after Microsoft.Common.CurrentVersion.targets.  Otherwise, the RestorePackages build target won't run.
      
       (changeset 1311037)
      9bf4a3b3
  9. 26 7月, 2014 1 次提交
  10. 12 7月, 2014 1 次提交
    • T
      Avoid locking analyzer assemblies when loading them. · 04d3a6fa
      tmeschter 提交于
      We expect that many users will check analyzer assemblies into source control; we've done this ourselves in the Roslyn solution. This poses a problem: any source control operations that would modify the assembly on disk will fail while VS or VBCSCompiler are running.
      
      To avoid this problem we will handle loading assemblies ourselves, by first copying them file into a byte array and then loading from there. This avoids the need to shadow-copy files (and thus the need to clean them up) which is our other option to avoid the locking.
      
      The interesting bit is that we need to handle loading the assemblies dependencies as well, by subscribing to the AppDomain.AssemblyResolve event. (changeset 1296284)
      04d3a6fa
  11. 08 7月, 2014 1 次提交
  12. 20 6月, 2014 3 次提交
    • T
      Splits Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.CSharp and... · fc3b332f
      TomasMatousek 提交于
      Splits Microsoft.CodeAnalysis, Microsoft.CodeAnalysis.CSharp and Microsoft.CodeAnalysis.VisualBasic into portable and desktop assemblies.
      
      Existing Core\Source, CSharp\Source and VisualBasic\Source directories are renamed to Core\Portable, CSharp\Portable and VisualBasic\Portable.
      New sibling Desktop folders are added and non-portable source is moved there.
      "System.Runtime" references has to be removed in order for the portable project system magic to automatically add facade references.
       (changeset 1281686)
      fc3b332f
    • T
      Remove dependency on XmlTextReader. · 1d6133fe
      TomasMatousek 提交于
      We used to use XmlTextReader to save allocations of underlying buffers while validating XML doc comments. XmlTextReader is a legacy non-portable class. However it has an advantage over a reader created via XmlReader.Create in the ability of resetting. The latter can't be reset and thus can't be pooled.
      
      With this change, each time we need to validate a fragment of XML we "append" it to the underlying text stream and advance the reader pass the added fragment. By the end of the fragment validation we keep the reader open in a state that is ready for the next fragment validation unless the fragment was invalid, in which case we need to create a new XmlReader. (changeset 1278873)
      1d6133fe
    • J
  13. 29 5月, 2014 3 次提交
    • T
      Do not crash when reporting SQM data from the compiler. · b37d0039
      tmeschter 提交于
      When collecting SQM data, the compilers try to include the set of diagnostic codes that the user has supplied options for. For example, warnings that have been suppressed, warnings that should be treated as errors, etc. We only intend to collect data for compiler diagnostics, and the code assumes that all diagnostic IDs take the form "CS1009" or "BC1009".
      
      Now that we support rule set files for third-party diagnostics this assumption is no longer correct. If we're collecting SQM data and a rule set includes a setting for a diagnostic with the ID "MyDiagnostic" (for example), we'll try to parse "Diagnostic" as a uint and crash the compiler.
      
      The fix is to filter out everything that doesn't match the expected format. (changeset 1264355)
      b37d0039
    • H
      added intial Diagnostic tests to rolling perf tests · 7e920bef
      heejaechang 提交于
      this is to verify new tests, once it runs reliablely it will be removed from rolling perf and moved to daily perf machine. (changeset 1263718)
      7e920bef
    • C
      StackOverflowException in DataFlowPass.IsEmptyStructType for Structure S(Of T)... · 4c17f1f2
      ChuckStoner 提交于
      StackOverflowException in DataFlowPass.IsEmptyStructType for Structure S(Of T) with field of S(Of T)?
      
      CheckStructureCircularity was not returning True in all cycle cases. (Compare with C# HasStructCircularity.)
       (changeset 1265250)
      4c17f1f2
  14. 23 5月, 2014 1 次提交
    • T
      Stores Encoding on SourceText so that we can always calculate checksum of the... · 97862d24
      TomasMatousek 提交于
      Stores Encoding on SourceText so that we can always calculate checksum of the underlying binary data, even if the SourceText wasn’t created from a Stream.
      
      Adds WithRootAndOptions and WithFilePath methods to SyntaxTree and implements them for all subclasses. I decided to merge WithRoot and WithOptions to a single method WithRootAndOptions since setting one without the other doesn't make much sense (the options should correspond to the root node).
      
      Propagates the Encoding throughout workspaces and services.
      Refactors recoverable syntax trees so that they can implement With* methods.
      
      Allow encoding on SourceText to be unspecified (null) and report an emit diagnostic when attempting to emit debug information for a syntax tree that is backed by encoding-less source text. If user creates a syntax tree from a string they previously read from a file and then try to emit debuggable compilation with such tree the original encoding of the file might not match the default UTF8 (they might different by presence of BOM, which is quite subtle). To avoid confusion we don't set UTF8 encoding by default. Instead we report the diagnostic and the user needs to explicitly provide an encoding to the syntax tree factory method.
      
      Avoid leaking DecoderFallbackException out of EncodedStringText.Create. Throw InvalidDataException instead to reduce the amount of exceptions that the caller needs to deal with.
      
      Also moves HasSameText extension method from Services to SourceText and optimizes the comparison for the case we the SHA1 checksums are available.
       (changeset 1260412)
      97862d24
  15. 22 4月, 2014 1 次提交
  16. 10 4月, 2014 1 次提交
  17. 01 4月, 2014 1 次提交
  18. 28 3月, 2014 4 次提交
  19. 27 3月, 2014 2 次提交
  20. 23 3月, 2014 2 次提交
  21. 22 3月, 2014 2 次提交
  22. 21 3月, 2014 1 次提交
  23. 19 3月, 2014 1 次提交