1. 20 6月, 2014 1 次提交
  2. 06 6月, 2014 4 次提交
    • H
      removed assert since there is a chance where entry in the typemap might not be... · 1cc00037
      heejaechang 提交于
      removed assert since there is a chance where entry in the typemap might not be there yet in concurrent case
      
      it is due to us using two concurrent maps, so it is possible for us to put one information in one map but not in the other one yet.
      
      when we actually consume this binding object, we will never consume Record ang GetType/GetReader at the same time, so removing the assert should be safe. (changeset 1271843)
      1cc00037
    • M
      Add light bulb support for adding global and local SuppressMessageAttributes... · cebf8433
      manishv 提交于
      Add light bulb support for adding global and local SuppressMessageAttributes for warning and info diagnostics. Global SuppressMessageAttributes are assembly attributes generated in a separated GlobalSuppressions file. Local SuppressMessageAttributes are generated on the member declaration node containing the diagnostic location. (changeset 1271826)
      cebf8433
    • C
      EnC: Signatures for unrecognized locals contained TypeRefs to types defined in same assembly · 0c4a1394
      ChuckStoner 提交于
      For unrecognized locals, LocalDefinition.Type was incorrectly set to the type from the previous generation. Rather than attempting to map the type of an unrecognized local to the current generation, we simply copy the byte signature from the IL in the previous generation when emitting.
       (changeset 1271466)
      0c4a1394
    • T
      Converts non-portable Compilation.Emits that accepts file paths to extension... · c9b66a21
      TomasMatousek 提交于
      Converts non-portable Compilation.Emits that accepts file paths to extension methods and removes SyntaxFactory.ParseFile.
      
      Cleans up Emit methods on CSharpCompilation and VisualBasicCompilation.
      Reorders parameters of Emit methods so that cancellation token is the last one to follow a common convention. (changeset 1271389)
      c9b66a21
  3. 05 6月, 2014 2 次提交
    • T
      The compiler used to use the metadata reference path to filter out duplicated... · 6e331705
      TomasMatousek 提交于
      The compiler used to use the metadata reference path to filter out duplicated references. Duplicate references were also filtered out based on assembly identity, if it the identity was strong.
      This change removes the former mechanism in favor of the latter modified to work for weak-named identities as well.
      
      As a result the compiler will no longer report CS1704/BC32208 in cases where two metadata references passed to the compilation that have different paths but the same weak name and version. Based on SQM data these errors were rarely reported anyways. In addition it is hard to make the compilers report these errors when building from VS. So the value of these errors is minimal.
      
      The goal of de-duplication is mainly to support #r scenarios, where application of #r on the "same" reference should be idempotent. The definition of "same" is not based on file paths any more but on simple name and version (or strong name if the assembly is signed).
      
      Also removes FilePath from Location. The value was not well defined and thus problematic for metadata locations. (changeset 1270403)
      6e331705
    • B
      Bugfix 924172 · 86ee11e9
      Basoundr_ms 提交于
      The suppress operation, when the 'Ignore spaces in declaration statement' is enabled, was passed wrong option (changeset 1270221)
      86ee11e9
  4. 04 6月, 2014 6 次提交
    • T
      Statically link in the C runtime to rcsc2 and rvbc2. This way you don't need... · 136cf066
      tmeschter 提交于
      Statically link in the C runtime to rcsc2 and rvbc2. This way you don't need to worry about whether or not it's going to be found at run time. (changeset 1270107)
      136cf066
    • H
      CR.Feedback · b2b2bbbf
      heejaechang 提交于
      tweaked some of recordingobjectbinder implementation. (changeset 1270066)
      b2b2bbbf
    • V
      Fix bug 529880: fix incorrect parsing (leading to a crash) of FULLWIDTH COLON... · 634e7473
      vladres 提交于
      Fix bug 529880: fix incorrect parsing (leading to a crash) of FULLWIDTH COLON (U+FF1A) when it appears immediately after an XML name in VB. Now it is always parsed as a statement separator in this context (if possible), that agrees with the native VB compiler. Also adds some tests for the REM keyword in XML name context. (changeset 1269793)
      634e7473
    • H
      use concurrent dictionary rather than lock + regular dictionary when objectbinder is shared · 41e4f2fa
      heejaechang 提交于
      I did some experiment and it looks like using concurrent dictionary makes write about 100% faster and read about 50% faster in heavily concurrent sencario.
      
      since RecordingObjectBinder is used for syntax node serialization and deserialization which can be quite heavily concurrent, this should help us to get those tree from tree storage faster.
      
       (changeset 1269787)
      41e4f2fa
    • B
      Bugfix 956667 CR · 9e2105cf
      Basoundr_ms 提交于
      Simplification to Predefined Type keyword within Member Access Expression was missing a Symbol check in addition to the Type Check. Fixed in both VB and C# (changeset 1269571)
      9e2105cf
    • B
      Bugfix · 9b09d015
      Basoundr_ms 提交于
      956667 : Simplification to Predefined Type keyword within Member Access Expression was missing a Symbol check in addition to the Type Check. Fixed in both VB and C#
      
      953535 : Introduced a new formatting rule to handle spacing within the Conditional Expression (changeset 1269369)
      9b09d015
  5. 03 6月, 2014 1 次提交
  6. 31 5月, 2014 6 次提交
    • T
      Do not crash when reporting SQM data from the compiler. · bd71c33e
      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 1267569)
      bd71c33e
    • B
      Bug Fix 530727: Recommend Namespace, Module keyword after type declaration. · 642103f7
      BalajiKris 提交于
      Example:
      Namespace N1
      Class C
      End Class
      $$
      End Namespace
      
      Typing at $$ makes the syntax tree incomplete and the token at $$ gets attached to the EndBlock. However, the IDE needs to think of this as being attached to the surrounding namespace declaration to be able to recommend keywords that apply here.
      
      This change handles such error cases to provide better keyword recommendation.
      
      More examples:
      
      Namespace N1
      End Namespace
      $$
      
      Module M1
      End Module
      $$
      
      End Class
      $$
      
      Namespace N1
      End Class
      $$
      End Namespace
      
      and so on. Added tests for all such cases. (changeset 1267530)
      642103f7
    • C
      Remove unused field (changeset 1267491) · e8006818
      ChuckStoner 提交于
      e8006818
    • A
    • M
      Add support for a custom PreviewOperation CodeActionOperation: This enables... · e4449221
      manishv 提交于
      Add support for a custom PreviewOperation CodeActionOperation: This enables clients to display custom WPF controls in the preview dialog. This preview control might have custom description, hyperlinks and other custom controls appropriate for the code action preview. (changeset 1267319)
      e4449221
    • T
      The current implementation of MultiByteEncoding is not portable. This change... · cabccd43
      TomasMatousek 提交于
      The current implementation of MultiByteEncoding is not portable. This change replaces it with a simpler string serialization technique.
      
      The problem is with GetBytes(char*, int, byte*, int) -- we needed to override this method in order to avoid buffer allocation. But the base method is currently not exposed in portable profile.
      We don't actually need to define an ecnoding to serialize strings. We can serialize strings to byte array manually and then write the bytes direaction to the strream.
      
      Taking it one step furtehr we can also avoid using a custom string serialization format as well. Instead we chack if the string being serialized is UTF8-encodable. We already have a helper in MetadataHelpers that answers that question. If it is we use UTF8 encoding, otherwise we use UTF16 encoding. Invalid Unicode characters are rare so we don't need to optimize the latter. (changeset 1267243)
      cabccd43
  7. 29 5月, 2014 12 次提交
  8. 24 5月, 2014 3 次提交
  9. 23 5月, 2014 5 次提交
    • T
      Ignore rule set <Include> elements that we don't know how to resolve. · 0de4871e
      tmeschter 提交于
      The compilers cannot currently resolve the same range of <Include> elements as FxCop. Consider the following:
      
        <Include Path="MinimumRecommendedRules.ruleset" Action="Default" />
      
      FxCop knows to go look for MinimumRecommendedRules.ruleset among the rule sets installed with VS, as well as in any user-defined locations. Roslyn lacks this ability, and so some projects that previously built will now fail with an error about the file not being found.
      
      For the moment, just work around the issue by ignoring any included files that can't be found. (changeset 1261868)
      0de4871e
    • S
      Disallow ComAliasNameAttribute from getting emitted on parameters in cases... · 069419c1
      shyamn 提交于
      Disallow ComAliasNameAttribute from getting emitted on parameters in cases where user invokes implement interface refactoring to implement a COM interface. (changeset 1261481)
      069419c1
    • K
      Adding missing null check. (changeset 1261424) · f35e0dc4
      kayleh 提交于
      f35e0dc4
    • A
      C#: Adjust implementation of Primary Constructors to match current language design: · d45c6cdf
      AlekseyTs 提交于
      - Disallow field modifiers and field attributes on primary constructor parameters.
      - Adjust scope of primary constructor parameters.
      - Allow referencing non-ref/non-out primary constructor parameters in a lambda.
      - Report appropriate diagnostics when a primary parameter is shadowed in a nested scope.
       (changeset 1261399)
      d45c6cdf
    • W
      Adjust Sequence Points for C# Using to align with Break Points · 5a846eab
      wochae 提交于
      The sequence point used to be on the "using" keyword while the break point spans around both "using" keyword and the expression. Here, we adjust sequence points to be aligned with break points. Also, we update unittests in a way that the markup can be used to identify a specific span which is verified. (changeset 1261135)
      5a846eab