Binder\Binder_Expressions.cs (11)
1431BoundTypeExpression boundType = new BoundTypeExpression(typeSyntax, alias, typeWithAnnotations, type.IsErrorType());
1470BoundTypeExpression boundType = new BoundTypeExpression(typeSyntax, alias, typeWithAnnotations, typeHasErrors);
1632var typeExpression = new BoundTypeExpression(node.Type, aliasOpt: alias, typeWithAnnotations);
8119Debug.Assert(boundLeft is BoundTypeExpression);
8273if (receiver is not BoundTypeExpression)
8648qualifierOpt: left is BoundTypeExpression typeExpr ? typeExpr.Type : null);
8710boundContainingTypeOpt: left as BoundTypeExpression,
9328if (receiverOpt is not BoundTypeExpression { Type: { TypeKind: TypeKind.TypeParameter } })
11100case BoundTypeExpression:
11260BoundTypeExpression => !memberCountsAsStatic,
11295case BoundTypeExpression:
Binder\Binder_Patterns.cs (10)
459var boundType = (BoundTypeExpression)convertedExpression;
507/// and in that case it returns a <see cref="BoundTypeExpression"/>.
856BoundTypeExpression boundDeclType = BindTypeForPattern(typeSyntax, inputType, diagnostics, ref hasErrors);
863private BoundTypeExpression BindTypeForPattern(
872BoundTypeExpression boundDeclType = new BoundTypeExpression(typeSyntax, aliasOpt, typeWithAnnotations: declType);
943out BoundTypeExpression? boundDeclType)
985TypeWithAnnotations declTypeWithAnnotations = BindRecursivePatternType(typeSyntax, inputType, diagnostics, ref hasErrors, out BoundTypeExpression? boundDeclType);
1374var boundOperandType = new BoundTypeExpression(syntax: node, aliasOpt: null, typeWithAnnotations: declType); // fake a type expression for the variable's type
1630var patternType = BindTypeForPattern(node.Type, inputType, diagnostics, ref hasErrors);
Generated\BoundNodes.xml.Generated.cs (85)
1082public BoundTypeExpression(SyntaxNode syntax, AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type, bool hasErrors = false)
1095public BoundTypeExpression? BoundContainingTypeOpt { get; }
1103public BoundTypeExpression Update(AliasSymbol? aliasOpt, BoundTypeExpression? boundContainingTypeOpt, ImmutableArray<BoundExpression> boundDimensionsOpt, TypeWithAnnotations typeWithAnnotations, TypeSymbol type)
1107var result = new BoundTypeExpression(this.Syntax, aliasOpt, boundContainingTypeOpt, boundDimensionsOpt, typeWithAnnotations, type, this.HasErrors);
2277public BoundTypeOfOperator(SyntaxNode syntax, BoundTypeExpression sourceType, MethodSymbol? getTypeFromHandle, TypeSymbol type, bool hasErrors = false)
2287public BoundTypeExpression SourceType { get; }
2292public BoundTypeOfOperator Update(BoundTypeExpression sourceType, MethodSymbol? getTypeFromHandle, TypeSymbol type)
2865public BoundDefaultExpression(SyntaxNode syntax, BoundTypeExpression? targetType, ConstantValue? constantValueOpt, TypeSymbol type, bool hasErrors = false)
2876public BoundTypeExpression? TargetType { get; }
2882public BoundDefaultExpression Update(BoundTypeExpression? targetType, ConstantValue? constantValueOpt, TypeSymbol type)
2896public BoundIsOperator(SyntaxNode syntax, BoundExpression operand, BoundTypeExpression targetType, ConversionKind conversionKind, TypeSymbol type, bool hasErrors = false)
2911public BoundTypeExpression TargetType { get; }
2917public BoundIsOperator Update(BoundExpression operand, BoundTypeExpression targetType, ConversionKind conversionKind, TypeSymbol type)
2931public BoundAsOperator(SyntaxNode syntax, BoundExpression operand, BoundTypeExpression targetType, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, TypeSymbol type, bool hasErrors = false)
2947public BoundTypeExpression TargetType { get; }
2954public BoundAsOperator Update(BoundExpression operand, BoundTypeExpression targetType, BoundValuePlaceholder? operandPlaceholder, BoundExpression? operandConversion, TypeSymbol type)
2968public BoundSizeOfOperator(SyntaxNode syntax, BoundTypeExpression sourceType, ConstantValue? constantValueOpt, TypeSymbol type, bool hasErrors = false)
2980public BoundTypeExpression SourceType { get; }
2986public BoundSizeOfOperator Update(BoundTypeExpression sourceType, ConstantValue? constantValueOpt, TypeSymbol type)
3453public BoundLocalDeclaration(SyntaxNode syntax, LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType, bool hasErrors = false)
3467public BoundTypeExpression? DeclaredTypeOpt { get; }
3475public BoundLocalDeclaration Update(LocalSymbol localSymbol, BoundTypeExpression? declaredTypeOpt, BoundExpression? initializerOpt, ImmutableArray<BoundExpression> argumentsOpt, bool inferredType)
4093public 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)
4118public BoundTypeExpression IterationVariableType { get; }
4128public 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)
8218public BoundDeclarationPattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isVar, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8234public BoundTypeExpression DeclaredType { get; }
8240public BoundDeclarationPattern Update(BoundTypeExpression declaredType, bool isVar, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8254public BoundRecursivePattern(SyntaxNode syntax, BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8272public BoundTypeExpression? DeclaredType { get; }
8281public BoundRecursivePattern Update(BoundTypeExpression? declaredType, MethodSymbol? deconstructMethod, ImmutableArray<BoundPositionalSubpattern> deconstruction, ImmutableArray<BoundPropertySubpattern> properties, bool isExplicitNotNullTest, Symbol? variable, BoundExpression? variableAccess, TypeSymbol inputType, TypeSymbol narrowedType)
8522public BoundTypePattern(SyntaxNode syntax, BoundTypeExpression declaredType, bool isExplicitNotNullTest, TypeSymbol inputType, TypeSymbol narrowedType, bool hasErrors = false)
8538public BoundTypeExpression DeclaredType { get; }
8544public BoundTypePattern Update(BoundTypeExpression declaredType, bool isExplicitNotNullTest, TypeSymbol inputType, TypeSymbol narrowedType)
9022return VisitTypeExpression((BoundTypeExpression)node, arg);
9474public virtual R VisitTypeExpression(BoundTypeExpression node, A arg) => this.DefaultVisit(node, arg);
9712public virtual BoundNode? VisitTypeExpression(BoundTypeExpression node) => this.DefaultVisit(node);
9986public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
11085public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
11088BoundTypeExpression? boundContainingTypeOpt = (BoundTypeExpression?)this.Visit(node.BoundContainingTypeOpt);
11327BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
11419BoundTypeExpression? targetType = node.TargetType;
11426BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
11433BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
11441BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
11515BoundTypeExpression? declaredTypeOpt = (BoundTypeExpression?)this.Visit(node.DeclaredTypeOpt);
11631BoundTypeExpression iterationVariableType = (BoundTypeExpression)this.Visit(node.IterationVariableType);
12377BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
12387BoundTypeExpression? declaredType = (BoundTypeExpression?)this.Visit(node.DeclaredType);
12448BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
12798public override BoundNode? VisitTypeExpression(BoundTypeExpression node)
12800BoundTypeExpression? boundContainingTypeOpt = (BoundTypeExpression?)this.Visit(node.BoundContainingTypeOpt);
12802BoundTypeExpression updatedNode;
13298BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
13520BoundTypeExpression? targetType = node.TargetType;
13538BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
13556BoundTypeExpression targetType = (BoundTypeExpression)this.Visit(node.TargetType);
13575BoundTypeExpression sourceType = (BoundTypeExpression)this.Visit(node.SourceType);
13701BoundTypeExpression? declaredTypeOpt = (BoundTypeExpression?)this.Visit(node.DeclaredTypeOpt);
13758BoundTypeExpression iterationVariableType = (BoundTypeExpression)this.Visit(node.IterationVariableType);
15053BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
15064BoundTypeExpression? declaredType = (BoundTypeExpression?)this.Visit(node.DeclaredType);
15124BoundTypeExpression declaredType = (BoundTypeExpression)this.Visit(node.DeclaredType);
15449public override TreeDumperNode VisitTypeExpression(BoundTypeExpression node, object? arg) => new TreeDumperNode("typeExpression", null, new TreeDumperNode[]