提交 a9b1e10a 编写于 作者: S Sam Harwell

Use named arguments where a type was visible but now isn't

上级 a5046573
......@@ -1876,7 +1876,7 @@ private BoundExpression RewriteDelegateOperation(SyntaxNode syntax, BinaryOperat
{
// use reference equality in the absence of overloaded operators for System.Delegate.
operatorKind = (operatorKind & (~BinaryOperatorKind.Delegate)) | BinaryOperatorKind.Object;
return new BoundBinaryOperator(syntax, operatorKind, null, null, LookupResultKind.Empty, loweredLeft, loweredRight, type);
return new BoundBinaryOperator(syntax, operatorKind, constantValueOpt: null, null, LookupResultKind.Empty, loweredLeft, loweredRight, type);
}
}
else
......
......@@ -830,12 +830,12 @@ private static bool NullableNeverHasValue(BoundExpression expression)
var method = (MethodSymbol)_compilation.Assembly.GetSpecialTypeMember(DecimalConversionMethod(typeFromUnderlying, typeToUnderlying));
var conversionKind = conversion.Kind.IsImplicitConversion() ? ConversionKind.ImplicitUserDefined : ConversionKind.ExplicitUserDefined;
var result = new BoundConversion(syntax, rewrittenOperand, new Conversion(conversionKind, method, false), @checked, explicitCastInCode: explicitCastInCode, conversionGroup, null, rewrittenType);
var result = new BoundConversion(syntax, rewrittenOperand, new Conversion(conversionKind, method, false), @checked, explicitCastInCode: explicitCastInCode, conversionGroup, constantValueOpt: null, rewrittenType);
return result;
}
else
{
return new BoundConversion(syntax, rewrittenOperand, conversion, @checked, explicitCastInCode: explicitCastInCode, conversionGroup, null, rewrittenType);
return new BoundConversion(syntax, rewrittenOperand, conversion, @checked, explicitCastInCode: explicitCastInCode, conversionGroup, constantValueOpt: null, rewrittenType);
}
}
......@@ -1051,7 +1051,7 @@ private static bool NullableNeverHasValue(BoundExpression expression)
// do not rewrite user defined conversion in expression trees
if (_inExpressionLambda)
{
return BoundConversion.Synthesized(syntax, rewrittenOperand, conversion, false, explicitCastInCode: true, conversionGroupOpt: null, null, rewrittenType);
return BoundConversion.Synthesized(syntax, rewrittenOperand, conversion, false, explicitCastInCode: true, conversionGroupOpt: null, constantValueOpt: null, rewrittenType);
}
if ((rewrittenOperand.Type.IsArray()) && _compilation.IsReadOnlySpanType(rewrittenType))
......@@ -1086,7 +1086,7 @@ private BoundExpression MakeLiftedUserDefinedConversionConsequence(BoundCall cal
if (_inExpressionLambda)
{
Conversion conv = TryMakeConversion(syntax, conversion, rewrittenOperand.Type, rewrittenType);
return BoundConversion.Synthesized(syntax, rewrittenOperand, conv, false, explicitCastInCode: true, conversionGroupOpt: null, null, rewrittenType);
return BoundConversion.Synthesized(syntax, rewrittenOperand, conv, false, explicitCastInCode: true, conversionGroupOpt: null, constantValueOpt: null, rewrittenType);
}
// DELIBERATE SPEC VIOLATION:
......
......@@ -361,7 +361,7 @@ private BoundExpression RewriteStringConcatInExpressionLambda(SyntaxNode syntax,
var method = UnsafeGetSpecialTypeMethod(syntax, member);
Debug.Assert((object)method != null);
return new BoundBinaryOperator(syntax, operatorKind, null, method, default(LookupResultKind), loweredLeft, loweredRight, type);
return new BoundBinaryOperator(syntax, operatorKind, constantValueOpt: null, method, default(LookupResultKind), loweredLeft, loweredRight, type);
}
/// <summary>
......
......@@ -38,7 +38,7 @@ public override BoundExpression Replacement(SyntaxNode node, Func<NamedTypeSymbo
{
var frame = makeFrame(this.HoistedField.ContainingType);
var field = this.HoistedField.AsMember((NamedTypeSymbol)frame.Type);
return new BoundFieldAccess(node, frame, field, null);
return new BoundFieldAccess(node, frame, field, constantValueOpt: null);
}
}
......@@ -56,7 +56,7 @@ public override BoundExpression Replacement(SyntaxNode node, Func<NamedTypeSymbo
{
var frame = makeFrame(this.HoistedField.ContainingType);
var field = this.HoistedField.AsMember((NamedTypeSymbol)frame.Type);
return new BoundFieldAccess(node, frame, field, null);
return new BoundFieldAccess(node, frame, field, constantValueOpt: null);
}
}
......
......@@ -736,7 +736,7 @@ public BoundCall Call(BoundExpression? receiver, MethodSymbol method, ImmutableA
public BoundExpression Conditional(BoundExpression condition, BoundExpression consequence, BoundExpression alternative, TypeSymbol type)
{
return new BoundConditionalOperator(Syntax, false, condition, consequence, alternative, null, type) { WasCompilerGenerated = true };
return new BoundConditionalOperator(Syntax, false, condition, consequence, alternative, constantValueOpt: null, type) { WasCompilerGenerated = true };
}
public BoundExpression ComplexConditionalReceiver(BoundExpression valueTypeReceiver, BoundExpression referenceTypeReceiver)
......
......@@ -4319,7 +4319,7 @@ private static bool CanReuseVariableDeclarator(CSharp.Syntax.VariableDeclaratorS
expression = this.AddError(expression, ErrorCode.ERR_ArraySizeInDeclaration);
}
args.Add(_syntaxFactory.Argument(null, null, expression));
args.Add(_syntaxFactory.Argument(null, refKindKeyword: null, expression));
}
else
{
......@@ -4839,7 +4839,7 @@ private TypeParameterSyntax ParseTypeParameter()
{
return _syntaxFactory.TypeParameter(
default(SyntaxList<AttributeListSyntax>),
null,
varianceKeyword: null,
this.AddError(CreateMissingIdentifierToken(), ErrorCode.ERR_IdentifierExpected));
}
......
......@@ -25,7 +25,7 @@ public partial class ConstructorDeclarationSyntax
parameterList,
initializer,
body,
null,
expressionBody: null,
semicolonToken);
}
}
......@@ -48,7 +48,7 @@ public partial class SyntaxFactory
parameterList,
initializer,
body,
null,
expressionBody: null,
default(SyntaxToken));
public static ConstructorDeclarationSyntax ConstructorDeclaration(
......@@ -66,7 +66,7 @@ public partial class SyntaxFactory
parameterList,
initializer,
body,
null,
expressionBody: null,
semicolonToken);
public static ConstructorDeclarationSyntax ConstructorDeclaration(
......@@ -82,7 +82,7 @@ public partial class SyntaxFactory
identifier,
parameterList,
initializer,
null,
body: null,
expressionBody,
default(SyntaxToken));
......@@ -100,7 +100,7 @@ public partial class SyntaxFactory
identifier,
parameterList,
initializer,
null,
body: null,
expressionBody,
semicolonToken);
......
......@@ -25,7 +25,7 @@ public partial class DestructorDeclarationSyntax
identifier,
parameterList,
body,
null,
expressionBody: null,
semicolonToken);
}
}
......@@ -47,7 +47,7 @@ public partial class SyntaxFactory
identifier,
parameterList,
body,
null,
expressionBody: null,
default(SyntaxToken));
public static DestructorDeclarationSyntax DestructorDeclaration(
......@@ -65,7 +65,7 @@ public partial class SyntaxFactory
identifier,
parameterList,
body,
null,
expressionBody: null,
semicolonToken);
public static DestructorDeclarationSyntax DestructorDeclaration(
......@@ -80,7 +80,7 @@ public partial class SyntaxFactory
SyntaxFactory.Token(SyntaxKind.TildeToken),
identifier,
parameterList,
null,
body: null,
expressionBody,
default(SyntaxToken));
......@@ -98,7 +98,7 @@ public partial class SyntaxFactory
tildeToken,
identifier,
parameterList,
null,
body: null,
expressionBody,
semicolonToken);
......
......@@ -47,7 +47,7 @@ private static bool IsInBody(int position, BlockSyntax blockOpt, ArrowExpression
/// </summary>
internal static bool IsInBody(int position,
PropertyDeclarationSyntax property)
=> IsInBody(position, null, property.GetExpressionBodySyntax(), property.SemicolonToken);
=> IsInBody(position, blockOpt: null, property.GetExpressionBodySyntax(), property.SemicolonToken);
/// <summary>
/// A position is inside a property body only if it is inside an expression body.
......@@ -56,7 +56,7 @@ private static bool IsInBody(int position, BlockSyntax blockOpt, ArrowExpression
/// </summary>
internal static bool IsInBody(int position,
IndexerDeclarationSyntax indexer)
=> IsInBody(position, null, indexer.GetExpressionBodySyntax(), indexer.SemicolonToken);
=> IsInBody(position, blockOpt: null, indexer.GetExpressionBodySyntax(), indexer.SemicolonToken);
/// <summary>
/// A position is inside an accessor body if it is inside the block or expression
......
......@@ -32,7 +32,7 @@ public PropertyDeclarationSyntax WithSemicolon(SyntaxToken semicolon)
public sealed partial class AccessorDeclarationSyntax : CSharpSyntaxNode
{
public AccessorDeclarationSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, BlockSyntax body, SyntaxToken semicolonToken)
=> Update(attributeLists, modifiers, keyword, body, null, semicolonToken);
=> Update(attributeLists, modifiers, keyword, body, expressionBody: null, semicolonToken);
}
}
......@@ -43,7 +43,7 @@ public partial class SyntaxFactory
/// <summary>Creates a new AccessorDeclarationSyntax instance.</summary>
public static AccessorDeclarationSyntax AccessorDeclaration(SyntaxKind kind, BlockSyntax body)
{
return SyntaxFactory.AccessorDeclaration(kind, default(SyntaxList<AttributeListSyntax>), default(SyntaxTokenList), SyntaxFactory.Token(GetAccessorDeclarationKeywordKind(kind)), body, null, default(SyntaxToken));
return SyntaxFactory.AccessorDeclaration(kind, default(SyntaxList<AttributeListSyntax>), default(SyntaxTokenList), SyntaxFactory.Token(GetAccessorDeclarationKeywordKind(kind)), body, expressionBody: null, default(SyntaxToken));
}
}
}
......
......@@ -9,7 +9,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Syntax
public partial class StackAllocArrayCreationExpressionSyntax
{
public StackAllocArrayCreationExpressionSyntax Update(SyntaxToken stackAllocKeyword, TypeSyntax type)
=> Update(StackAllocKeyword, type, null);
=> Update(StackAllocKeyword, type, initializer: null);
}
}
......@@ -18,6 +18,6 @@ namespace Microsoft.CodeAnalysis.CSharp
public partial class SyntaxFactory
{
public static StackAllocArrayCreationExpressionSyntax StackAllocArrayCreationExpression(SyntaxToken stackAllocKeyword, TypeSyntax type)
=> StackAllocArrayCreationExpression(stackAllocKeyword, type, null);
=> StackAllocArrayCreationExpression(stackAllocKeyword, type, initializer: null);
}
}
......@@ -2438,8 +2438,8 @@ public static BlockSyntax Block(IEnumerable<StatementSyntax> statements)
explicitInterfaceSpecifier,
identifier,
accessorList,
null,
null);
expressionBody: null,
initializer: null);
}
public static ConversionOperatorDeclarationSyntax ConversionOperatorDeclaration(
......@@ -2505,13 +2505,13 @@ public static ClassOrStructConstraintSyntax ClassOrStructConstraint(SyntaxKind k
// backwards compatibility for extended API
public static AccessorDeclarationSyntax AccessorDeclaration(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, BlockSyntax body)
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, body, null);
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, body, expressionBody: null);
public static AccessorDeclarationSyntax AccessorDeclaration(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, BlockSyntax body, SyntaxToken semicolonToken)
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, keyword, body, null, semicolonToken);
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, keyword, body, expressionBody: null, semicolonToken);
public static AccessorDeclarationSyntax AccessorDeclaration(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, ArrowExpressionClauseSyntax expressionBody)
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, null, expressionBody);
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, body: null, expressionBody);
public static AccessorDeclarationSyntax AccessorDeclaration(SyntaxKind kind, SyntaxList<AttributeListSyntax> attributeLists, SyntaxTokenList modifiers, SyntaxToken keyword, ArrowExpressionClauseSyntax expressionBody, SyntaxToken semicolonToken)
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, keyword, null, expressionBody, semicolonToken);
=> SyntaxFactory.AccessorDeclaration(kind, attributeLists, modifiers, keyword, body: null, expressionBody, semicolonToken);
public static EnumMemberDeclarationSyntax EnumMemberDeclaration(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken identifier, EqualsValueClauseSyntax equalsValue)
=> EnumMemberDeclaration(attributeLists, modifiers: default,
......
......@@ -77,8 +77,8 @@ public static TypeDeclarationSyntax TypeDeclaration(SyntaxKind kind, SyntaxToken
default(SyntaxTokenList),
SyntaxFactory.Token(GetTypeDeclarationKeywordKind(kind)),
identifier,
null,
null,
typeParameterList: null,
baseList: null,
default(SyntaxList<TypeParameterConstraintClauseSyntax>),
SyntaxFactory.Token(SyntaxKind.OpenBraceToken),
default(SyntaxList<MemberDeclarationSyntax>),
......
......@@ -2268,8 +2268,8 @@ internal void EnsureAnonymousTypeTemplates(CancellationToken cancellationToken)
manifestResources,
options,
debugEntryPoint,
null,
null,
sourceLinkStream: null,
embeddedTexts: null,
cancellationToken);
}
......
......@@ -30,7 +30,7 @@ public DkmGetChildrenAsyncResult(DkmEvaluationResult[] InitialChildren, DkmEvalu
public static DkmGetChildrenAsyncResult CreateErrorResult(Exception exception)
{
return new DkmGetChildrenAsyncResult(new DkmEvaluationResult[0], null) { Exception = exception };
return new DkmGetChildrenAsyncResult(new DkmEvaluationResult[0], EnumContext: null) { Exception = exception };
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册