2 writes to NarrowedType
Microsoft.CodeAnalysis.CSharp (2)
Generated\BoundNodes.xml.Generated.cs (2)
8028
this.
NarrowedType
= narrowedType;
8039
this.
NarrowedType
= narrowedType;
109 references to NarrowedType
Microsoft.CodeAnalysis.CSharp (109)
Binder\Binder_Patterns.cs (4)
1868
var right = binder.BindPattern(node.Right, preboundLeft.
NarrowedType
, permitDesignations, hasErrors, diagnostics);
1870
narrowedTypeCandidates.Add(right.
NarrowedType
);
1871
return new BoundBinaryPattern(node, disjunction: isDisjunction, preboundLeft, right, inputType: inputType, narrowedType: right.
NarrowedType
, hasErrors);
1884
candidates.Add(pat.
NarrowedType
);
Binder\DecisionDagBuilder.cs (4)
725
if (bin.InputType.Equals(bin.
NarrowedType
))
734
var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.
NarrowedType
, input);
735
output = new BoundDagTemp(bin.Syntax, bin.
NarrowedType
, evaluation);
745
Debug.Assert(bin.HasErrors || output.Type.Equals(bin.
NarrowedType
, TypeCompareKind.AllIgnoreOptions));
Binder\DecisionDagBuilder_CheckOrReachability.cs (21)
480
var wrappedPattern = new BoundBinaryPattern(newPattern.Syntax, disjunction: false, current.Left, newPattern, current.InputType, newPattern.
NarrowedType
);
754
inputType = stack.Peek().
NarrowedType
;
772
if (resultRight.
NarrowedType
.Equals(resultLeft.
NarrowedType
, TypeCompareKind.AllIgnoreOptions))
774
return resultLeft.
NarrowedType
;
781
narrowedType = resultRight.
NarrowedType
;
979
return typePattern1.Update(typePattern1.DeclaredType, typePattern1.IsExplicitNotNullTest, inputType, typePattern1.
NarrowedType
);
990
inputType, recursivePattern.
NarrowedType
);
1007
var narrowedType = constantPattern.ConstantValue.IsNull ? inputType : constantPattern.
NarrowedType
;
1013
return relationalPattern.Update(relationalPattern.Relation, relationalPattern.Value, relationalPattern.ConstantValue, inputType, relationalPattern.
NarrowedType
);
1020
variable: null, variableAccess: null, inputType, declarationPattern.
NarrowedType
);
1031
var result = new BoundBinaryPattern(pattern.Syntax, disjunction: false, left: typePattern, right: pattern, inputType, pattern.
NarrowedType
);
1043
var result = new BoundDeclarationPattern(node.Syntax, node.DeclaredType, node.IsVar, node.Variable, node.VariableAccess, node.InputType, node.
NarrowedType
)
1083
initialCheck = new BoundTypePattern(node.Syntax, node.DeclaredType, node.IsExplicitNotNullTest, node.InputType, node.
NarrowedType
, node.HasErrors);
1123
node.InputType, node.
NarrowedType
, node.HasErrors);
1158
node.InputType, node.
NarrowedType
, node.HasErrors);
1226
ituplePattern.InputType, ituplePattern.
NarrowedType
);
1243
ituplePattern.GetItemMethod, newSubpatterns, ituplePattern.InputType, ituplePattern.
NarrowedType
);
1308
listPattern.InputType, listPattern.
NarrowedType
);
1332
slice.ReceiverPlaceholder, slice.ArgumentPlaceholder, slice.InputType, slice.
NarrowedType
);
1339
listPattern.InputType, listPattern.
NarrowedType
);
Binder\DecisionDagBuilder_ListPatterns.cs (2)
18
input.Type.StrippedType().Equals(list.
NarrowedType
, TypeCompareKind.ConsiderEverything) &&
25
output = input = MakeConvertToType(input, list.Syntax, list.
NarrowedType
, isExplicitTest: false, tests);
BoundTree\BoundBinaryPattern.cs (3)
23
Debug.Assert(Right.InputType.Equals(Left.
NarrowedType
, TypeCompareKind.AllIgnoreOptions));
24
Debug.Assert(
NarrowedType
.Equals(Right.
NarrowedType
, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundConstantPattern.cs (2)
13
Debug.Assert(
NarrowedType
.Equals(InputType, TypeCompareKind.AllIgnoreOptions) ||
14
NarrowedType
.Equals(Value.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundDeclarationPattern.cs (1)
14
Debug.Assert(
NarrowedType
.Equals(DeclaredType.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundDiscardPattern.cs (1)
13
Debug.Assert(
NarrowedType
.Equals(InputType, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundITuplePattern.cs (2)
14
Debug.Assert(
NarrowedType
.IsCompilerServicesTopLevelType() &&
NarrowedType
.Name == "ITuple");
BoundTree\BoundListPattern.cs (2)
15
return Update(subpatterns, this.HasSlice, this.LengthAccess, this.IndexerAccess, this.ReceiverPlaceholder, this.ArgumentPlaceholder, this.Variable, this.VariableAccess, this.InputType, this.
NarrowedType
);
23
Debug.Assert(
NarrowedType
.Equals(InputType.StrippedType(), TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundNegatedPattern.cs (1)
13
Debug.Assert(
NarrowedType
.Equals(InputType, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundRecursivePattern.cs (2)
15
NarrowedType
.Equals(InputType.StrippedType(), TypeCompareKind.AllIgnoreOptions) :
16
NarrowedType
.Equals(DeclaredType.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundRelationalPattern.cs (2)
13
Debug.Assert(
NarrowedType
.Equals(InputType, TypeCompareKind.AllIgnoreOptions) ||
14
NarrowedType
.Equals(Value.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundSlicePattern.cs (2)
13
return Update(pattern, this.IndexerAccess, this.ReceiverPlaceholder, this.ArgumentPlaceholder, this.InputType, this.
NarrowedType
);
20
Debug.Assert(
NarrowedType
.Equals(InputType, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundTreeRewriter.cs (1)
375
left = binary.Update(binary.Disjunction, left, right, VisitType(binary.InputType), VisitType(binary.
NarrowedType
));
BoundTree\BoundTypePattern.cs (1)
13
Debug.Assert(
NarrowedType
.Equals(DeclaredType.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\NullabilityRewriter.cs (1)
159
TypeSymbol narrowedType = GetUpdatedSymbol(currentBinary, currentBinary.
NarrowedType
);
Compilation\CSharpSemanticModel.cs (2)
2027
pattern.InputType, pattern.
NarrowedType
, nullability: default, convertedNullability: default,
2028
Compilation.Conversions.ClassifyBuiltInConversion(pattern.InputType, pattern.
NarrowedType
, isChecked: false, ref discardedUseSiteInfo));
Generated\BoundNodes.xml.Generated.cs (43)
8073
if (value != this.Value || constantValue != this.ConstantValue || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8113
if (!TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8166
if (declaredType != this.DeclaredType || isVar != this.IsVar || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(variable, this.Variable) || variableAccess != this.VariableAccess || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8207
if (declaredType != this.DeclaredType || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(deconstructMethod, this.DeconstructMethod) || deconstruction != this.Deconstruction || properties != this.Properties || isExplicitNotNullTest != this.IsExplicitNotNullTest || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(variable, this.Variable) || variableAccess != this.VariableAccess || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8251
if (subpatterns != this.Subpatterns || hasSlice != this.HasSlice || lengthAccess != this.LengthAccess || indexerAccess != this.IndexerAccess || receiverPlaceholder != this.ReceiverPlaceholder || argumentPlaceholder != this.ArgumentPlaceholder || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(variable, this.Variable) || variableAccess != this.VariableAccess || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8290
if (pattern != this.Pattern || indexerAccess != this.IndexerAccess || receiverPlaceholder != this.ReceiverPlaceholder || argumentPlaceholder != this.ArgumentPlaceholder || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8330
if (!Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(getLengthMethod, this.GetLengthMethod) || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(getItemMethod, this.GetItemMethod) || subpatterns != this.Subpatterns || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8470
if (declaredType != this.DeclaredType || isExplicitNotNullTest != this.IsExplicitNotNullTest || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8509
if (disjunction != this.Disjunction || left != this.Left || right != this.Right || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8543
if (negated != this.Negated || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
8582
if (relation != this.Relation || value != this.Value || constantValue != this.ConstantValue || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.
NarrowedType
, TypeCompareKind.ConsiderEverything))
12263
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12269
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12278
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12290
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12303
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12313
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12322
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12348
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12356
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12363
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
12370
TypeSymbol? narrowedType = this.VisitType(node.
NarrowedType
);
14922
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
14930
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
14938
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
14949
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
14961
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
14974
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
14987
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
15009
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
15017
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
15025
TypeSymbol narrowedType = GetUpdatedSymbol(node, node.
NarrowedType
);
17114
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17121
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17132
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17146
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17161
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17172
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17182
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17214
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17224
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17232
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
17242
new TreeDumperNode("narrowedType", node.
NarrowedType
, null),
Operations\CSharpOperationFactory.cs (12)
2512
TypeSymbol narrowedType = boundConstantPattern.
NarrowedType
;
2523
TypeSymbol narrowedType = boundRelationalPattern.
NarrowedType
;
2536
ITypeSymbol narrowedType = boundDeclarationPattern.
NarrowedType
.GetPublicSymbol();
2560
boundRecursivePattern.
NarrowedType
.GetPublicSymbol(),
2579
boundITuplePattern.
NarrowedType
.GetPublicSymbol(),
2588
matchedType: boundTypePattern.
NarrowedType
.GetPublicSymbol(),
2590
narrowedType: boundTypePattern.
NarrowedType
.GetPublicSymbol(),
2603
narrowedType: boundNode.
NarrowedType
.GetPublicSymbol(),
2617
narrowedType: boundNode.
NarrowedType
.GetPublicSymbol(),
2628
boundNegatedPattern.
NarrowedType
.GetPublicSymbol(),
2668
boundBinaryPattern.
NarrowedType
.GetPublicSymbol(),
2837
narrowedType: boundNode.
NarrowedType
.GetPublicSymbol(),