2 writes to NarrowedType
Microsoft.CodeAnalysis.CSharp (2)
Generated\BoundNodes.xml.Generated.cs (2)
8102this.NarrowedType = narrowedType; 8113this.NarrowedType = narrowedType;
109 references to NarrowedType
Microsoft.CodeAnalysis.CSharp (109)
Binder\Binder_Patterns.cs (4)
1868var right = binder.BindPattern(node.Right, preboundLeft.NarrowedType, permitDesignations, hasErrors, diagnostics); 1870narrowedTypeCandidates.Add(right.NarrowedType); 1871return new BoundBinaryPattern(node, disjunction: isDisjunction, preboundLeft, right, inputType: inputType, narrowedType: right.NarrowedType, hasErrors); 1884candidates.Add(pat.NarrowedType);
Binder\DecisionDagBuilder.cs (4)
725if (bin.InputType.Equals(bin.NarrowedType)) 734var evaluation = new BoundDagTypeEvaluation(bin.Syntax, bin.NarrowedType, input); 735output = new BoundDagTemp(bin.Syntax, bin.NarrowedType, evaluation); 745Debug.Assert(bin.HasErrors || output.Type.Equals(bin.NarrowedType, TypeCompareKind.AllIgnoreOptions));
Binder\DecisionDagBuilder_CheckOrReachability.cs (21)
480var wrappedPattern = new BoundBinaryPattern(newPattern.Syntax, disjunction: false, current.Left, newPattern, current.InputType, newPattern.NarrowedType); 754inputType = stack.Peek().NarrowedType; 772if (resultRight.NarrowedType.Equals(resultLeft.NarrowedType, TypeCompareKind.AllIgnoreOptions)) 774return resultLeft.NarrowedType; 781narrowedType = resultRight.NarrowedType; 979return typePattern1.Update(typePattern1.DeclaredType, typePattern1.IsExplicitNotNullTest, inputType, typePattern1.NarrowedType); 990inputType, recursivePattern.NarrowedType); 1007var narrowedType = constantPattern.ConstantValue.IsNull ? inputType : constantPattern.NarrowedType; 1013return relationalPattern.Update(relationalPattern.Relation, relationalPattern.Value, relationalPattern.ConstantValue, inputType, relationalPattern.NarrowedType); 1020variable: null, variableAccess: null, inputType, declarationPattern.NarrowedType); 1031var result = new BoundBinaryPattern(pattern.Syntax, disjunction: false, left: typePattern, right: pattern, inputType, pattern.NarrowedType); 1043var result = new BoundDeclarationPattern(node.Syntax, node.DeclaredType, node.IsVar, node.Variable, node.VariableAccess, node.InputType, node.NarrowedType) 1083initialCheck = new BoundTypePattern(node.Syntax, node.DeclaredType, node.IsExplicitNotNullTest, node.InputType, node.NarrowedType, node.HasErrors); 1123node.InputType, node.NarrowedType, node.HasErrors); 1158node.InputType, node.NarrowedType, node.HasErrors); 1226ituplePattern.InputType, ituplePattern.NarrowedType); 1243ituplePattern.GetItemMethod, newSubpatterns, ituplePattern.InputType, ituplePattern.NarrowedType); 1308listPattern.InputType, listPattern.NarrowedType); 1332slice.ReceiverPlaceholder, slice.ArgumentPlaceholder, slice.InputType, slice.NarrowedType); 1339listPattern.InputType, listPattern.NarrowedType);
Binder\DecisionDagBuilder_ListPatterns.cs (2)
18input.Type.StrippedType().Equals(list.NarrowedType, TypeCompareKind.ConsiderEverything) && 25output = input = MakeConvertToType(input, list.Syntax, list.NarrowedType, isExplicitTest: false, tests);
BoundTree\BoundBinaryPattern.cs (3)
23Debug.Assert(Right.InputType.Equals(Left.NarrowedType, TypeCompareKind.AllIgnoreOptions)); 24Debug.Assert(NarrowedType.Equals(Right.NarrowedType, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundConstantPattern.cs (2)
13Debug.Assert(NarrowedType.Equals(InputType, TypeCompareKind.AllIgnoreOptions) || 14NarrowedType.Equals(Value.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundDeclarationPattern.cs (1)
14Debug.Assert(NarrowedType.Equals(DeclaredType.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundDiscardPattern.cs (1)
13Debug.Assert(NarrowedType.Equals(InputType, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundITuplePattern.cs (2)
14Debug.Assert(NarrowedType.IsCompilerServicesTopLevelType() && NarrowedType.Name == "ITuple");
BoundTree\BoundListPattern.cs (2)
15return Update(subpatterns, this.HasSlice, this.LengthAccess, this.IndexerAccess, this.ReceiverPlaceholder, this.ArgumentPlaceholder, this.Variable, this.VariableAccess, this.InputType, this.NarrowedType); 23Debug.Assert(NarrowedType.Equals(InputType.StrippedType(), TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundNegatedPattern.cs (1)
13Debug.Assert(NarrowedType.Equals(InputType, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundRecursivePattern.cs (2)
15NarrowedType.Equals(InputType.StrippedType(), TypeCompareKind.AllIgnoreOptions) : 16NarrowedType.Equals(DeclaredType.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundRelationalPattern.cs (2)
13Debug.Assert(NarrowedType.Equals(InputType, TypeCompareKind.AllIgnoreOptions) || 14NarrowedType.Equals(Value.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundSlicePattern.cs (2)
13return Update(pattern, this.IndexerAccess, this.ReceiverPlaceholder, this.ArgumentPlaceholder, this.InputType, this.NarrowedType); 20Debug.Assert(NarrowedType.Equals(InputType, TypeCompareKind.AllIgnoreOptions));
BoundTree\BoundTreeRewriter.cs (1)
375left = binary.Update(binary.Disjunction, left, right, VisitType(binary.InputType), VisitType(binary.NarrowedType));
BoundTree\BoundTypePattern.cs (1)
13Debug.Assert(NarrowedType.Equals(DeclaredType.Type, TypeCompareKind.AllIgnoreOptions));
BoundTree\NullabilityRewriter.cs (1)
159TypeSymbol narrowedType = GetUpdatedSymbol(currentBinary, currentBinary.NarrowedType);
Compilation\CSharpSemanticModel.cs (2)
2040pattern.InputType, pattern.NarrowedType, nullability: default, convertedNullability: default, 2041Compilation.Conversions.ClassifyBuiltInConversion(pattern.InputType, pattern.NarrowedType, isChecked: false, ref discardedUseSiteInfo));
Generated\BoundNodes.xml.Generated.cs (43)
8147if (value != this.Value || constantValue != this.ConstantValue || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything)) 8187if (!TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything)) 8240if (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)) 8281if (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)) 8325if (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)) 8364if (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)) 8404if (!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)) 8544if (declaredType != this.DeclaredType || isExplicitNotNullTest != this.IsExplicitNotNullTest || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything)) 8583if (disjunction != this.Disjunction || left != this.Left || right != this.Right || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything)) 8617if (negated != this.Negated || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything)) 8656if (relation != this.Relation || value != this.Value || constantValue != this.ConstantValue || !TypeSymbol.Equals(inputType, this.InputType, TypeCompareKind.ConsiderEverything) || !TypeSymbol.Equals(narrowedType, this.NarrowedType, TypeCompareKind.ConsiderEverything)) 12363TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12369TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12378TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12390TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12403TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12413TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12422TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12448TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12456TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12463TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 12470TypeSymbol? narrowedType = this.VisitType(node.NarrowedType); 15034TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15042TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15050TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15061TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15073TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15086TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15099TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15121TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15129TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 15137TypeSymbol narrowedType = GetUpdatedSymbol(node, node.NarrowedType); 17243new TreeDumperNode("narrowedType", node.NarrowedType, null), 17250new TreeDumperNode("narrowedType", node.NarrowedType, null), 17261new TreeDumperNode("narrowedType", node.NarrowedType, null), 17275new TreeDumperNode("narrowedType", node.NarrowedType, null), 17290new TreeDumperNode("narrowedType", node.NarrowedType, null), 17301new TreeDumperNode("narrowedType", node.NarrowedType, null), 17311new TreeDumperNode("narrowedType", node.NarrowedType, null), 17343new TreeDumperNode("narrowedType", node.NarrowedType, null), 17353new TreeDumperNode("narrowedType", node.NarrowedType, null), 17361new TreeDumperNode("narrowedType", node.NarrowedType, null), 17371new TreeDumperNode("narrowedType", node.NarrowedType, null),
Operations\CSharpOperationFactory.cs (12)
2562TypeSymbol narrowedType = boundConstantPattern.NarrowedType; 2573TypeSymbol narrowedType = boundRelationalPattern.NarrowedType; 2586ITypeSymbol narrowedType = boundDeclarationPattern.NarrowedType.GetPublicSymbol(); 2610boundRecursivePattern.NarrowedType.GetPublicSymbol(), 2629boundITuplePattern.NarrowedType.GetPublicSymbol(), 2638matchedType: boundTypePattern.NarrowedType.GetPublicSymbol(), 2640narrowedType: boundTypePattern.NarrowedType.GetPublicSymbol(), 2653narrowedType: boundNode.NarrowedType.GetPublicSymbol(), 2667narrowedType: boundNode.NarrowedType.GetPublicSymbol(), 2678boundNegatedPattern.NarrowedType.GetPublicSymbol(), 2718boundBinaryPattern.NarrowedType.GetPublicSymbol(), 2887narrowedType: boundNode.NarrowedType.GetPublicSymbol(),