1. 05 12月, 2017 1 次提交
  2. 04 12月, 2017 1 次提交
  3. 01 12月, 2017 1 次提交
  4. 22 11月, 2017 1 次提交
  5. 18 11月, 2017 1 次提交
  6. 15 11月, 2017 1 次提交
  7. 12 11月, 2017 1 次提交
  8. 30 9月, 2017 1 次提交
    • V
      Allow "in" at call sites as a way to request strict "in" parameter passing. · c72c57ed
      vsadov 提交于
      - "in" argument matches only "in" parameters (as opposed to unmodified case that can also match byval parameters)
      - "in" requires that the argument is an lvalue
      - "in" does not allow conversions at the call-site other than identity conversions
      - "in" sets an exact bound in generic method type inference
      - "in" cannot be stack-spilled by value
      c72c57ed
  9. 05 4月, 2017 1 次提交
  10. 11 3月, 2017 1 次提交
    • J
      Prototype: target typed "default" (#13603) · cd510fd1
      Julien 提交于
      Conflicts:
      	src/Compilers/CSharp/Portable/Binder/Semantics/Conversions/ConversionKind.cs
      	src/Compilers/CSharp/Portable/Binder/Semantics/Conversions/ConversionKindExtensions.cs
      	src/Compilers/CSharp/Portable/Errors/MessageID.cs
      	src/Compilers/CSharp/Portable/Parser/LanguageParser.cs
      	src/Compilers/CSharp/Portable/PublicAPI.Unshipped.txt
      	src/Compilers/CSharp/Portable/Syntax/Syntax.xml
      	src/Compilers/CSharp/Portable/Syntax/SyntaxKind.cs
      	src/Compilers/CSharp/Test/Semantic/CSharpCompilerSemanticTest.csproj
      	src/Compilers/CSharp/Test/Syntax/Parsing/ExpressionParsingTests.cs
      	src/Test/Utilities/Desktop/TestResource.resx
      	src/Test/Utilities/Shared/Traits/CompilerFeature.cs
      cd510fd1
  11. 23 2月, 2017 1 次提交
  12. 16 2月, 2017 1 次提交
  13. 12 12月, 2016 1 次提交
    • N
      Combine deconstruction assignment and declaration, and support discards. (#15548) · 3806ef8e
      Neal Gafter 提交于
      * Combine deconstruction assignment and declaration, and support discards.
      
      - Combine deconstruction assignment and declaration, and support discards.
      - Add wildcards.work.md to track outstanding work.
      - Bind each type syntax once in a deconstruction.
      - Because tuples may contain declarations, adjust lambda disambiguation
        and adjust parsing of argument lists.
      - Diagnose tuple element names on the left of a deconstruction.
      - Add relational operators to disambiguating tokens in 7.5.4.2
      
      * Disallow deconstruction declarations except at the statement level.
      This is now a semantic restriction (until we decide to remove it).
      
      * Revise logic to detect `var` in a declaration expression.
      Plus other changes per code review.
      
      * Add a test that GetTypeInfo on a discard expression doesn't crash.
      * Small changes per code review.
      * Add (skipped) test for var invocation in parens.
      * Rename "Discarded" to "Discard"
      * Changes recommended via code review.
      * Minor changes to the handling of declaration expressions per code review.
      * Addressing blocking feedback while Neal is OOF
      
      Fixes https://github.com/dotnet/roslyn/issues/14794
      Fixes https://github.com/dotnet/roslyn/issues/14832
      3806ef8e
  14. 29 11月, 2016 1 次提交
  15. 22 11月, 2016 1 次提交
  16. 09 11月, 2016 1 次提交
  17. 01 11月, 2016 1 次提交
  18. 02 9月, 2016 1 次提交
  19. 30 8月, 2016 1 次提交
  20. 06 8月, 2016 2 次提交
  21. 05 8月, 2016 1 次提交
  22. 04 8月, 2016 1 次提交
    • G
      Overhaul syntax model for deconstruction decl · df48ec6f
      gafter 提交于
      Also update the out var syntax node to use the newly introduced
      VariableComponent so it can be extended in the future to allow `out *`
      or `out var (x, y)` etc without requiring any further changes to the
      syntax model.
      Fixes #12747, #12664, #12588, #1503
      df48ec6f
  23. 31 7月, 2016 1 次提交
    • G
      We introduce a "ref type" for use in declarations · b93e71b8
      gafter 提交于
        (e.g. ref local variable declaration)
      We introduce a "ref expression" for use in expressions
        (e.g. right-hand-side of a ref variable initialization)
      Also improve the diagnostic for local functions.
      Fixes #12749, #12580
      b93e71b8
  24. 29 7月, 2016 1 次提交
  25. 22 7月, 2016 1 次提交
  26. 30 6月, 2016 1 次提交
  27. 25 6月, 2016 1 次提交
  28. 04 6月, 2016 1 次提交
    • A
      Finalizing Syntax Model for Out Variable Declarations. · 4d04cdc8
      AlekseyTs 提交于
      Adjusted behavior of CSharpSyntaxGenerator and added some explicitly written code to achieve the following for the Syntax Model:
      - Factory static ArgumentSyntax Argument(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, CSharpSyntaxNode expressionOrDeclaration) will be internal.
      - Factory static ArgumentSyntax Argument(CSharpSyntaxNode expressionOrDeclaration) will be internal.
      - There will be the following public factories:
      public static ArgumentSyntax Argument(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, ExpressionSyntax expression)
      public static ArgumentSyntax Argument(ExpressionSyntax expression)
      public static ArgumentSyntax Argument(NameColonSyntax nameColon, SyntaxToken outKeyword, VariableDeclarationSyntax declaration)
      public static ArgumentSyntax Argument(SyntaxToken outKeyword, VariableDeclarationSyntax declaration)
      - Update method ArgumentSyntax Update(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, CSharpSyntaxNode expressionOrDeclaration) will be internal.
      - There will be the following public update methods:
      public ArgumentSyntax Update(NameColonSyntax nameColon, SyntaxToken refOrOutKeyword, ExpressionSyntax expression)
      public ArgumentSyntax Update(NameColonSyntax nameColon, SyntaxToken outKeyword, VariableDeclarationSyntax declaration)
      - With method ArgumentSyntax WithExpressionOrDeclaration(CSharpSyntaxNode expressionOrDeclaration) will be internal.
      - There will be the following public With methods:
      public ArgumentSyntax WithNameColon(NameColonSyntax nameColon)
      public ArgumentSyntax WithRefOrOutKeyword(SyntaxToken refOrOutKeyword)
      public ArgumentSyntax WithExpression(ExpressionSyntax expression)
      public ArgumentSyntax WithDeclaration(VariableDeclarationSyntax declaration)
      - Property CSharpSyntaxNode ExpressionOrDeclaration will be internal.
      - Instead there will be the following public properties (one of them will return null depending on the value of ExpressionOrDeclaration):
      public ExpressionSyntax Expression
      public VariableDeclarationSyntax Declaration
      - Factory, Update and With methods should provide stronger validation:
      a) ExpressionOrDeclaration must either be an ExpressionSyntax, or a VariableDeclarationSyntax;
      b) Declaration must be combined with out keyword;
      c) Declaration must have single VariableDeclarator;
      d) VariableDeclarator must have null ArgumentList and null Initializer.
      4d04cdc8
  29. 28 5月, 2016 1 次提交
  30. 18 5月, 2016 1 次提交
    • A
      Added initial support for out vars. · 68aca6f8
      AlekseyTs 提交于
      - Feature flag.
      - Syntax model changes.
      - Parsing.
      - Binding (for explicitly typed variables only).
      - Flow analysis.
      - SemanticModel – added new API GetDeclaredSymbol(ArgumentSyntax) to return symbol for the declared local.
      
      Basic scenarios work end to end.
      68aca6f8
  31. 28 4月, 2016 1 次提交
    • V
      ==== Adding Syntax nodes and Parser support for Tuples. · f39ba171
      VSadov 提交于
      Most interesting parts here are:
      * the syntax node shape and naming - these are public APIs so we should get the naming right.
      NOTE: I expect some churn here so for now I have disabled the public API diagnostics.
      
      * parsing something that starts with "("  is tricky since that can be a start of many constructs - lambdas, casts, parenthesized expressions...
      I have updated the lookahead logic that tries to figure what we are dealing with, but it may need some tuning to be more robust.
      In particular there could be some error recovery work to see that handling of broken code is sensible.
      
      ==== Current assumptions:
      1) TupleTypes and TupleExpressions must have 2 or more elements/arguments. However we may have to parse 0 and 1 sized expressions for error recovery reasons. Those are syntax errors.
      
      2) TupleType looks like
      
      (int x, int y)  x = ...
      
      I.E.
      
        ( type [name], type [name])
      
      We may enforce that all or no elements have names. Not sure yet if that needs to be in parser or binder.
      
      3) TupleExpression looks like
      
      var something = (x: foo(), y: bar);
      
      I.E.
      
        ( [name:] expr, [name:] expr)
      
      just like with the types we may want to enforce that all or none of the arguments have names. Not sure if that is a syntax or binding error.
      It is not a part of this change.
      f39ba171
  32. 27 4月, 2016 1 次提交
  33. 12 4月, 2016 1 次提交
  34. 29 3月, 2016 1 次提交
  35. 24 3月, 2016 1 次提交
  36. 06 3月, 2016 1 次提交
  37. 05 3月, 2016 2 次提交
  38. 27 2月, 2016 1 次提交