1. 31 1月, 2015 16 次提交
    • M
      Add a Roslyn diagnostic for C# and VB code analysis projects to verify that... · d43e0e62
      manishv 提交于
      Add a Roslyn diagnostic for C# and VB code analysis projects to verify that all of the expected source symbol types have some code path that generates a SymbolDeclaredEvent. This will hopefully avoid bugs such as 1111667 (Cannot develop VB analyzer when field does not have an initializer) in future. (changeset 1407683)
      d43e0e62
    • T
      Fixes bad cref in a comment. (changeset 1407407) · 4f6e43fa
      TomasMatousek 提交于
      4f6e43fa
    • J
    • J
      This particular exception in Dispose is masking a real failure in our suite... · 944d489e
      jaredpar 提交于
      This particular exception in Dispose is masking a real failure in our suite runs.   This particular scenario can only happen, based on my code reading, if an exception happens trying to create the RuntimeAssemblyManager instance.  In that case domain != null && assemblyManager == null.   That exception propagates out the calling code which has HostedRuntimeEnvironment in a using block hence it goes to Dispose.  The Dispose method thinks this combination is invalid and throws a new exception thus hiding the real and original problem.
      
           Removing the check in Dispose so the real exception will make it into our xUnit logs and we can track down the flaky behavior. (changeset 1407359)
      944d489e
    • J
      3d47c50d
    • T
      EnC support for lambdas & closures in C# compiler · ebc795d4
      TomasMatousek 提交于
      1) Change MethdCompiler.BindMethodBody to associate correct syntax with BoundBlocks it creates when binding constructor with constructor initializer call (two bound blocks are created – outer one defines a closure scope for constructor parameters, the inner one defines a closure scope for variables in the body).
      2) Introduce MethodDebugId – a method ordinal and generation ordinal pair
      3) Introduce LamdbaDebugInfo and ClosureDebugInfo to represent information (syntax offset) we use to figure out how to map lambdas and closures to the previous generation.
      4) Adds a new PDB CDI record (#7) to store lambda and closure debug info.
      5) Generalizes CalculateLocalSyntaxOffset to handle positions in field/property initializers and constructor initializers. Use it to calculate syntax offsets of lambdas and closure scopes. (TODO: rename CalculateLocalSyntaxOffset to CalculateSyntaxOffset).
      6) Replace lambda and scope ordinal dispenser integers with array builders that collect LambdaDebugInfo and ClosureDebugInfo.
      7) Use TryGet- pattern for all VariableSlotAllocator APIs.
      8) Implements mapping of lambda method and display class names to previous generation via VariableSlotAllocator.
       (changeset 1407240)
      ebc795d4
    • T
      If an assembly has "global" alias don't qualify namespace name in PDB with an... · e14d07c9
      TomasMatousek 提交于
      If an assembly has "global" alias don't qualify namespace name in PDB with an extern alias. (changeset 1407218)
      e14d07c9
    • P
      Reduce allocations in CommandLineParser.CondenseDoubledBackslashes · 1b134bcc
      Pharring 提交于
      Remove unused CommandLineSplitter class and update unit tests. (changeset 1407192)
      1b134bcc
    • B
      Ignore assembly names when resolving symbols in Peek. · a7e4c1ec
      BalajiKris 提交于
      This is because peek uses symbolkeys to resolve symbols between compilations which could potentially be from different frameworks but symbolkeys do not contain enough information to deal with typeforwarding situations. E.g: a portable project and a non-portable project may both resolve the same Int32 symbol to System.Runtime and mscorlib.
      
      Other features such as Metadata as source, Find References already do this. This change updates Peek to do the same thing. (changeset 1407182)
      a7e4c1ec
    • J
      Fixed the suites that I broke. · 491deef8
      jaredpar 提交于
      Don't worry, the Squirrel of Chain is already in my possession.   (changeset 1407173)
      491deef8
    • J
      Add an analyzer to force passing TaskSchedulers when creating Tasks. · b92db562
      jasonmalinowski 提交于
      If you call Task.Factory.StartNew and use one of the overloads that doesn't take TaskScheduler, the resulting task is scheduled onto TaskScheduler.Current. This is very dangerous in a free-threaded library like Roslyn: if the function runs on the UI thread it's possible the resulting Task will be scheduled on the UI thread accidentally. If later UI code were to wait on that task or a continuation of it, we might deadlock.
      
      The solution is just to ban the APIs -- if somebody wishes to schedule to the current thread, it's up to them to be explicit. Otherwise, TaskScheduler.Default should be used. (changeset 1407143)
      b92db562
    • P
      The C# compiler was not using the correct syntax node to verify whether or not... · 4b039cb7
      pgavlin 提交于
      The C# compiler was not using the correct syntax node to verify whether or not the expression body of an expression-bodied lambda or member was classified as a statement expression. This caused code to unexpectedly succeed to compile in certain cases (e.g. when the expression body was a parenthesized-expression that wrapped a valid statement expression), which broke conversions to void-returning delegates (and thus overload resolution, as in the original repro). This change adjusts the check to use the correct syntax node.
      ***NO_CI***
       (changeset 1406995)
      4b039cb7
    • J
      Part 1 of moving Visual Studio to Open · 5c7b91c9
      jaredpar 提交于
      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 1406961)
      5c7b91c9
    • A
    • C
      Allow async taggers to specify what sort of tracking span behavior they want. · ec999eb0
      cyrusn 提交于
      This affects what happens to tags for previous text snapshot versions that are mapped forward (in the interim period before we get the new up to date tags).
      
      Most features just have EdgeExclusive behavior.  However, some features, like TypeScript classification, want EdgeInclusive behavior so that if you type at the edge of an existing tag, the next text gets the old classification and does not flash.
      ***NO_CI***
       (changeset 1406469)
      ec999eb0
    • K
      Rollback SkipApplyOptimizations change for Features and BasicEditorFeatures... · 23e01f11
      Kevin_H 提交于
      Rollback SkipApplyOptimizations change for Features and BasicEditorFeatures (to see if issue with ibcmerge has been fixed)...
      ***NO_CI***
       (changeset 1406462)
      23e01f11
  2. 29 1月, 2015 6 次提交
  3. 28 1月, 2015 13 次提交
  4. 27 1月, 2015 5 次提交