1 instantiation of BoundLiteral
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
4305var result = new BoundLiteral(this.Syntax, constantValueOpt, type, this.HasErrors);
77 references to BoundLiteral
Microsoft.CodeAnalysis.CSharp (77)
Binder\Binder_Attributes.cs (1)
389(arguments[argIndex].IsParamsArrayOrCollection && arguments[argIndex] is BoundArrayCreation { Bounds: [BoundLiteral { ConstantValueOpt.Value: 0 }] }) ?
Binder\Binder_Await.cs (1)
370var receiver = new BoundLiteral(node, ConstantValue.Null, awaiterType);
Binder\Binder_Expressions.cs (3)
6449({ Type: null } or BoundLiteral or BoundUnconvertedInterpolatedString or BoundBinaryOperator { IsUnconvertedInterpolatedStringAddition: true }) && 7333private BoundLiteral BindLiteralConstant(LiteralExpressionSyntax node, BindingDiagnosticBag diagnostics) 7769if (boundLeft.Kind == BoundKind.Literal && ((BoundLiteral)boundLeft).ConstantValueOpt == ConstantValue.Null)
Binder\Binder_InterpolatedString.cs (7)
98BoundLiteral? format = null; 407Debug.Assert(part is BoundLiteral && part.ConstantValueOpt?.StringValue != null); 436=> parts.All(p => p is BoundLiteral or BoundStringInsert { Value.Type.SpecialType: SpecialType.System_String, Alignment: null, Format: null }); 887Debug.Assert(part is BoundLiteral { Type: { SpecialType: SpecialType.System_String }, ConstantValueOpt.IsString: true }); 920Debug.Assert(part is BoundLiteral or BoundStringInsert); 951var boundLiteral = (BoundLiteral)part;
Binder\Binder_Operators.cs (2)
3151BoundLiteral constant = BindIntegralMinValConstants(node, operand, diagnostics); 3507private BoundLiteral BindIntegralMinValConstants(PrefixUnaryExpressionSyntax node, BoundExpression operand, BindingDiagnosticBag diagnostics)
Binder\Binder_TupleOperators.cs (1)
101case BoundLiteral _:
Binder\Semantics\Conversions\ConversionsBase.cs (1)
1757BoundLiteral intMaxValueLiteral = new BoundLiteral(syntaxNode, ConstantValue.Create(int.MaxValue), expectedAttributeType);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1371=> argument is BoundLiteral { Type.SpecialType: SpecialType.System_String } &&
BoundTree\BoundNode.cs (1)
362this is BoundArrayCreation { Bounds: [BoundLiteral { WasCompilerGenerated: true }], InitializerOpt: BoundArrayInitialization { WasCompilerGenerated: true }, WasCompilerGenerated: true } or
BoundTree\BoundNode_Source.cs (1)
236case BoundLiteral literal:
BoundTree\BoundTreeVisitors.cs (1)
98return VisitLiteral(node as BoundLiteral, arg);
Compilation\CSharpCompilation.cs (1)
2214var dumbInstance = new BoundLiteral(syntax, ConstantValue.Null, namedType);
Compiler\AnonymousTypeMethodBodySynthesizer.cs (1)
201BoundLiteral boundHashFactor = null;
Compiler\MethodBodySynthesizer.Lowered.cs (1)
356ref BoundLiteral? boundHashFactor,
FlowAnalysis\AbstractFlowPass.cs (1)
1661public override BoundNode VisitLiteral(BoundLiteral node)
FlowAnalysis\NullableWalker.cs (1)
12079public override BoundNode? VisitLiteral(BoundLiteral node)
Generated\BoundNodes.xml.Generated.cs (17)
4301public BoundLiteral Update(ConstantValue? constantValueOpt, TypeSymbol? type) 4305var result = new BoundLiteral(this.Syntax, constantValueOpt, type, this.HasErrors); 7896public BoundStringInsert(SyntaxNode syntax, BoundExpression value, BoundExpression? alignment, BoundLiteral? format, bool isInterpolatedStringHandlerAppendCall, bool hasErrors = false) 7911public BoundLiteral? Format { get; } 7917public BoundStringInsert Update(BoundExpression value, BoundExpression? alignment, BoundLiteral? format, bool isInterpolatedStringHandlerAppendCall) 9075return VisitLiteral((BoundLiteral)node, arg); 9435public virtual R VisitLiteral(BoundLiteral node, A arg) => this.DefaultVisit(node, arg); 9671public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 10247public override BoundNode? VisitLiteral(BoundLiteral node) => null; 11536public override BoundNode? VisitLiteral(BoundLiteral node) 12194BoundLiteral? format = (BoundLiteral?)this.Visit(node.Format); 13639public override BoundNode? VisitLiteral(BoundLiteral node) 13646BoundLiteral updatedNode = node.Update(node.ConstantValueOpt, infoAndType.Type); 14843BoundLiteral? format = (BoundLiteral?)this.Visit(node.Format); 16110public override TreeDumperNode VisitLiteral(BoundLiteral node, object? arg) => new TreeDumperNode("literal", null, new TreeDumperNode[]
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
550var literal = operand as BoundLiteral;
Lowering\IteratorRewriter\IteratorMethodToStateMachineRewriter.cs (1)
297BoundLiteral result = this.F.Literal(!finished);
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
1134if (possibleParamsArray.IsParamsArrayOrCollection && !_inExpressionLambda && ((BoundArrayCreation)possibleParamsArray).Bounds is [BoundLiteral { ConstantValueOpt.Value: 0 }]) 1276if (paramsArray is BoundArrayCreation { Bounds: [BoundLiteral] bounds, InitializerOpt: BoundArrayInitialization { Initializers: var elements } initialization } creation)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
1305var otherElements = _factory.Literal(initialLength);
Lowering\LocalRewriter\LocalRewriter_Literal.cs (2)
17public override BoundNode VisitLiteral(BoundLiteral node) 23private BoundExpression MakeLiteral(SyntaxNode syntax, ConstantValue constantValue, TypeSymbol? type, BoundLiteral? oldNodeOpt = null)
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
307else if (argument is BoundNullCoalescingOperator { LeftOperand: { Type.SpecialType: SpecialType.System_String } left, RightOperand: BoundLiteral { ConstantValueOpt: { IsString: true, RopeValue.IsEmpty: true } } })
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
177Debug.Assert(part is BoundLiteral && part.ConstantValueOpt?.StringValue is not null);
Lowering\SyntheticBoundNodeFactory.cs (12)
721public BoundLiteral Literal(byte value) 726public BoundLiteral Literal(int value) 731public BoundLiteral Literal(StateMachineState value) 734public BoundLiteral Literal(uint value) 739public BoundLiteral Literal(ConstantValue value, TypeSymbol type) 1143public BoundLiteral Literal(Boolean value) 1148public BoundLiteral Literal(string? value) 1154public BoundLiteral StringLiteral(ConstantValue stringConst) 1160public BoundLiteral StringLiteral(String stringValue) 1165public BoundLiteral CharLiteral(ConstantValue charConst) 1171public BoundLiteral CharLiteral(Char charValue) 1880var whenNull = kind == BinaryOperatorKind.NullableNullEqual ? Literal(true) : null;
Operations\CSharpOperationFactory.cs (8)
58return CreateBoundLiteralOperation((BoundLiteral)boundNode); 674internal ILiteralOperation CreateBoundLiteralOperation(BoundLiteral boundLiteral, bool @implicit = false) 1017Debug.Assert(!forceOperandImplicitLiteral || boundConversion.Operand is BoundLiteral); 1132? CreateBoundLiteralOperation((BoundLiteral)correctedConversionNode.Operand, @implicit: true) 2286builder.Add(CreateBoundInterpolatedStringTextOperation((BoundLiteral)part)); 2354BoundLiteral l => CreateBoundLiteralOperation(l, @implicit: true), 2355BoundConversion { Operand: BoundLiteral } c => CreateBoundConversionOperation(c, forceOperandImplicitLiteral: true), 2409private IInterpolatedStringTextOperation CreateBoundInterpolatedStringTextOperation(BoundLiteral boundNode)
Symbols\ReducedExtensionMethodSymbol.cs (3)
144var thisArgumentValue = new BoundLiteral(syntax, ConstantValue.Bad, thisType) { WasCompilerGenerated = true }; 146var otherArgumentValue = new BoundLiteral(syntax, ConstantValue.Bad, otherArgumentType) { WasCompilerGenerated = true }; 153var argument = (i == 0) ? thisArgumentValue : otherArgumentValue;
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (1)
205var receiverValue = new BoundLiteral(syntax, ConstantValue.Bad, receiverType) { WasCompilerGenerated = true };
Symbols\Synthesized\Records\SynthesizedRecordGetHashCode.cs (1)
92BoundLiteral? boundHashFactor = null;