Binder\Binder_Expressions.cs (11)
1434BoundTypeExpression boundType = new BoundTypeExpression(typeSyntax, alias, typeWithAnnotations, type.IsErrorType());
1473BoundTypeExpression boundType = new BoundTypeExpression(typeSyntax, alias, typeWithAnnotations, typeHasErrors);
1635var typeExpression = new BoundTypeExpression(node.Type, aliasOpt: alias, typeWithAnnotations);
8142Debug.Assert(boundLeft is BoundTypeExpression);
8296if (receiver is not BoundTypeExpression)
8660qualifierOpt: left is BoundTypeExpression typeExpr ? typeExpr.Type : null);
8723boundContainingTypeOpt: left as BoundTypeExpression,
10020if (receiverOpt is not BoundTypeExpression { Type: { TypeKind: TypeKind.TypeParameter } })
11831case BoundTypeExpression:
11991BoundTypeExpression => !memberCountsAsStatic,
12026case BoundTypeExpression:
Binder\Binder_Patterns.cs (9)
561var result = BindTypePattern(node, innerExpression, ref unionType, inputType, ref permitDesignations, (BoundTypeExpression)originalExpression, hasErrors, diagnostics, ref useSiteInfo, out hasUnionMatching);
1035(BoundTypeExpression boundDeclType, UnionMatchingMode unionMatchingMode) = BindTypeForPattern(node, typeSyntax, unionType, inputType, ref permitDesignations, ref hasErrors, diagnostics);
1046private (BoundTypeExpression, UnionMatchingMode) BindTypeForPattern(
1057BoundTypeExpression boundDeclType = new BoundTypeExpression(typeSyntax, aliasOpt, typeWithAnnotations: declType);
1167BoundTypeExpression? boundDeclType;
1596var boundOperandType = new BoundTypeExpression(syntax: node, aliasOpt: null, typeWithAnnotations: declType); // fake a type expression for the variable's type
1919BoundTypeExpression patternType = new BoundTypeExpression(node.Type, aliasOpt, typeWithAnnotations: declType);
1932BoundTypeExpression patternType,
2013BoundTypeExpression patternType,
Generated\BoundNodes.xml.Generated.cs (85)
1079public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type, bool hasErrors = false)
1092public BoundTypeExpression? BoundContainingTypeOpt { get; }
1100public BoundTypeExpression Update(AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type)
1104var result = new BoundTypeExpression(this.Syntax, aliasOpt, boundContainingTypeOpt, boundDimensionsOpt, typeWithAnnotations, type, this.HasErrors);
2275public BoundTypeOfOperator(SyntaxNode syntax, BoundTypeExpression sourceType, MethodSymbol? getTypeFromHandle, TypeSymbol type, bool hasErrors = false)
2285public BoundTypeExpression SourceType { get; }
2290public BoundTypeOfOperator Update(BoundTypeExpression sourceType, MethodSymbol? getTypeFromHandle, TypeSymbol type)
2863public BoundDefaultExpression(SyntaxNode syntax, BoundTypeExpression? targetType, ConstantValue? constantValueOpt, TypeSymbol type, bool hasErrors = false)
2874public BoundTypeExpression? TargetType { get; }
2880public BoundDefaultExpression Update(BoundTypeExpression? targetType, ConstantValue? constantValueOpt, TypeSymbol type)
2894public BoundIsOperator(SyntaxNode syntax, BoundExpression operand, BoundTypeExpression targetType, ConversionKind conversionKind, TypeSymbol type, bool hasErrors = false)
2909public BoundTypeExpression TargetType { get; }
2915public BoundIsOperator Update(BoundExpression operand, BoundTypeExpression targetType, ConversionKind conversionKind, TypeSymbol type)
2929public BoundAsOperator(SyntaxNode syntax, BoundExpression operand, BoundTypeExpression targetType, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, TypeSymbol type, bool hasErrors = false)
2945public BoundTypeExpression TargetType { get; }
2952public BoundAsOperator Update(BoundExpression operand, BoundTypeExpression targetType, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, TypeSymbol type)
2966public BoundSizeOfOperator(SyntaxNode syntax, BoundTypeExpression sourceType, ConstantValue? constantValueOpt, TypeSymbol type, bool hasErrors = false)
2978public BoundTypeExpression SourceType { get; }
2984public BoundSizeOfOperator Update(BoundTypeExpression sourceType, ConstantValue? constantValueOpt, TypeSymbol type)
3451public BoundLocalDeclaration(SyntaxNode syntax, LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType, bool hasErrors = false)
3465public BoundTypeExpression? DeclaredTypeOpt { get; }
3473public BoundLocalDeclaration Update(LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType)
4077public BoundForEachStatement(SyntaxNode syntax, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false)
4102public BoundTypeExpression IterationVariableType { get; }
4112public BoundForEachStatement Update(ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel)
8286public BoundDeclarationPattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isVar, UnionMatchingMode unionMatchingMode, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8303public BoundTypeExpression DeclaredType { get; }
8310public BoundDeclarationPattern Update(BoundTypeExpression declaredType, bool isVar, UnionMatchingMode unionMatchingMode, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8324public BoundRecursivePattern(SyntaxNode syntax, BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, UnionMatchingMode unionMatchingMode, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8343public BoundTypeExpression? DeclaredType { get; }
8353public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, UnionMatchingMode unionMatchingMode, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8598public BoundTypePattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isExplicitNotNullTest, UnionMatchingMode unionMatchingMode, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8615public BoundTypeExpression DeclaredType { get; }
8622public BoundTypePattern Update(BoundTypeExpression declaredType, bool isExplicitNotNullTest, UnionMatchingMode unionMatchingMode, TypeSymbol inputType, TypeSymbol narrowedType)
9127return VisitTypeExpression((BoundTypeExpression)node, arg);
9585public virtual R VisitTypeExpression(BoundTypeExpression node, A arg) => this.DefaultVisit(node, arg);
9826public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node);
10107public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
11234public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
11237BoundTypeExpression? boundContainingTypeOpt = (BoundTypeExpression?)this.Visit(node.BoundContainingTypeOpt);
11476BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
11568BoundTypeExpression? targetType = node.TargetType;
11575BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
11582BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
11590BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
11664BoundTypeExpression? declaredTypeOpt = (BoundTypeExpression?)this.Visit(node.DeclaredTypeOpt);
11782BoundTypeExpression iterationVariableType = (BoundTypeExpression)this.Visit(node.IterationVariableType);
12545BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
12555BoundTypeExpression? declaredType = (BoundTypeExpression?)this.Visit(node.DeclaredType);
12616BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
12977public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12979BoundTypeExpression? boundContainingTypeOpt = (BoundTypeExpression?)this.Visit(node.BoundContainingTypeOpt);
12981BoundTypeExpression updatedNode;
13477BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
13699BoundTypeExpression? targetType = node.TargetType;
13717BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
13735BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
13754BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
13880BoundTypeExpression? declaredTypeOpt = (BoundTypeExpression?)this.Visit(node.DeclaredTypeOpt);
13937BoundTypeExpression iterationVariableType = (BoundTypeExpression)this.Visit(node.IterationVariableType);
15245BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
15256BoundTypeExpression? declaredType = (BoundTypeExpression?)this.Visit(node.DeclaredType);
15316BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
15659public override TreeDumperNode VisitTypeExpression(BoundTypeExpression node, object? arg) => new TreeDumperNode("typeExpression", null, new TreeDumperNode[]