47 instantiations of BoundLiteral
Microsoft.CodeAnalysis.CSharp (47)
Binder\Binder_Await.cs (1)
370var receiver = new BoundLiteral(node, ConstantValue.Null, awaiterType);
Binder\Binder_Expressions.cs (3)
4472sizeArray[i] = new BoundLiteral( 4697sizeOpt = new BoundLiteral( 5313lengthOrCount = new BoundLiteral(expression.Syntax, ConstantValue.Create(length), @this.GetSpecialType(SpecialType.System_Int32, diagnostics, expression.Syntax)) { WasCompilerGenerated = true };
Binder\Binder_InterpolatedString.cs (3)
414expressions[0] = new BoundLiteral(syntax, ConstantValue.Create(formatString.ToStringAndFree()), GetSpecialType(Microsoft.CodeAnalysis.SpecialType.System_String, diagnostics, syntax)) { WasCompilerGenerated = true }; 820argumentsBuilder.Add(new BoundLiteral(syntax, ConstantValue.Create(baseStringLength), intType) { WasCompilerGenerated = true }); 822argumentsBuilder.Add(new BoundLiteral(syntax, ConstantValue.Create(numFormatHoles), intType) { WasCompilerGenerated = true });
Binder\Binder_Invocation.cs (6)
1686defaultValue = new BoundLiteral(syntax, ConstantValue.Create(line), Compilation.GetSpecialType(SpecialType.System_Int32)) { WasCompilerGenerated = true }; 1691defaultValue = new BoundLiteral(syntax, ConstantValue.Create(path), Compilation.GetSpecialType(SpecialType.System_String)) { WasCompilerGenerated = true }; 1696defaultValue = new BoundLiteral(syntax, ConstantValue.Create(memberName), Compilation.GetSpecialType(SpecialType.System_String)) { WasCompilerGenerated = true }; 1705defaultValue = new BoundLiteral(syntax, ConstantValue.Create(argument.Syntax.ToString()), Compilation.GetSpecialType(SpecialType.System_String)) { WasCompilerGenerated = true }; 1728defaultValue = new BoundLiteral(syntax, defaultConstantValue, constantType) { WasCompilerGenerated = true }; 1782BoundExpression arraySize = new BoundLiteral(node, ConstantValue.Create(collectionArgs.Length), int32Type) { WasCompilerGenerated = true };
Binder\Binder_Statements.cs (1)
2266ConversionsBase.HasImplicitConstantExpressionConversion(new BoundLiteral(syntax, ConstantValue.Bad, sourceType), targetType))
Compilation\CSharpCompilation.cs (1)
2214var dumbInstance = new BoundLiteral(syntax, ConstantValue.Null, namedType);
Compiler\MethodBodySynthesizer.cs (3)
106ImmutableArray.Create<BoundExpression>(new BoundLiteral(syntax, ConstantValue.Create(slotIndex), intType) { WasCompilerGenerated = true }), 126ImmutableArray.Create<BoundExpression>(new BoundLiteral(syntax, ConstantValue.Create(0), intType) { WasCompilerGenerated = true }), 154ImmutableArray.Create<BoundExpression>(new BoundLiteral(syntax, ConstantValue.Create(targetSubmissionIndex), intType) { WasCompilerGenerated = true }),
Generated\BoundNodes.xml.Generated.cs (1)
4313var result = new BoundLiteral(this.Syntax, constantValueOpt, type, this.HasErrors);
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
383_factory.Convert(operandType, new BoundLiteral(syntax, ConstantValue.Null, objectType)),
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
1440new BoundLiteral(
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
748new BoundLiteral(
Lowering\LocalRewriter\LocalRewriter_Literal.cs (11)
47return new BoundLiteral(syntax, constantValue, type, hasErrors: constantValue.IsBad); 100arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((int)value), _compilation.GetSpecialType(SpecialType.System_Int32))); 106arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((uint)value), _compilation.GetSpecialType(SpecialType.System_UInt32))); 112arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((long)value), _compilation.GetSpecialType(SpecialType.System_Int64))); 118arguments.Add(new BoundLiteral(syntax, ConstantValue.Create((ulong)value), _compilation.GetSpecialType(SpecialType.System_UInt64))); 124arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(low), _compilation.GetSpecialType(SpecialType.System_Int32))); 125arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(mid), _compilation.GetSpecialType(SpecialType.System_Int32))); 126arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(high), _compilation.GetSpecialType(SpecialType.System_Int32))); 127arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(isNegative), _compilation.GetSpecialType(SpecialType.System_Boolean))); 128arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(scale), _compilation.GetSpecialType(SpecialType.System_Byte))); 148arguments.Add(new BoundLiteral(syntax, ConstantValue.Create(constantValue.DateTimeValue.Ticks), _compilation.GetSpecialType(SpecialType.System_Int64)));
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (3)
206return new BoundLiteral(expr.Syntax, ConstantValue.Null, expr.Type); 259return new BoundLiteral(left.Syntax, ConstantValue.Create(nullnull.Kind == BinaryOperatorKind.Equal), boolType); 569return new BoundLiteral(left.Syntax, ConstantValue.Create(operatorKind == BinaryOperatorKind.Equal), boolType);
Lowering\SyntheticBoundNodeFactory.cs (8)
723return new BoundLiteral(Syntax, ConstantValue.Create(value), SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Byte)) { WasCompilerGenerated = true }; 728return new BoundLiteral(Syntax, ConstantValue.Create(value), SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Int32)) { WasCompilerGenerated = true }; 736return new BoundLiteral(Syntax, ConstantValue.Create(value), SpecialType(Microsoft.CodeAnalysis.SpecialType.System_UInt32)) { WasCompilerGenerated = true }; 741return new BoundLiteral(Syntax, value, type) { WasCompilerGenerated = true }; 1145return new BoundLiteral(Syntax, ConstantValue.Create(value), SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Boolean)) { WasCompilerGenerated = true }; 1157return new BoundLiteral(Syntax, stringConst, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_String)) { WasCompilerGenerated = true }; 1168return new BoundLiteral(Syntax, charConst, SpecialType(Microsoft.CodeAnalysis.SpecialType.System_Char)) { WasCompilerGenerated = true }; 1250BoundExpression nullLiteral = new BoundLiteral(syntax, ConstantValue.Null, type) { WasCompilerGenerated = true };
Symbols\ReducedExtensionMethodSymbol.cs (2)
144var thisArgumentValue = new BoundLiteral(syntax, ConstantValue.Bad, thisType) { WasCompilerGenerated = true }; 146var otherArgumentValue = new BoundLiteral(syntax, ConstantValue.Bad, otherArgumentType) { WasCompilerGenerated = true };
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (1)
516var receiverValue = new BoundLiteral(syntax, ConstantValue.Bad, receiverType) { WasCompilerGenerated = true };
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)
6451({ Type: null } or BoundLiteral or BoundUnconvertedInterpolatedString or BoundBinaryOperator { IsUnconvertedInterpolatedStringAddition: true }) && 7335private BoundLiteral BindLiteralConstant(LiteralExpressionSyntax node, BindingDiagnosticBag diagnostics) 7771if (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)
4137BoundLiteral constant = BindIntegralMinValConstants(node, operand, diagnostics); 4493private 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)
12383public override BoundNode? VisitLiteral(BoundLiteral node)
Generated\BoundNodes.xml.Generated.cs (17)
4309public BoundLiteral Update(ConstantValue? constantValueOpt, TypeSymbol? type) 4313var result = new BoundLiteral(this.Syntax, constantValueOpt, type, this.HasErrors); 7904public BoundStringInsert(SyntaxNode syntax, BoundExpression value, BoundExpression? alignment, BoundLiteral? format, bool isInterpolatedStringHandlerAppendCall, bool hasErrors = false) 7919public BoundLiteral? Format { get; } 7925public BoundStringInsert Update(BoundExpression value, BoundExpression? alignment, BoundLiteral? format, bool isInterpolatedStringHandlerAppendCall) 9083return VisitLiteral((BoundLiteral)node, arg); 9443public virtual R VisitLiteral(BoundLiteral node, A arg) => this.DefaultVisit(node, arg); 9679public virtual BoundNode? VisitLiteral(BoundLiteral node) => this.DefaultVisit(node); 10255public override BoundNode? VisitLiteral(BoundLiteral node) => null; 11544public override BoundNode? VisitLiteral(BoundLiteral node) 12202BoundLiteral? format = (BoundLiteral?)this.Visit(node.Format); 13624public override BoundNode? VisitLiteral(BoundLiteral node) 13631BoundLiteral updatedNode = node.Update(node.ConstantValueOpt, infoAndType.Type); 14828BoundLiteral? format = (BoundLiteral?)this.Visit(node.Format); 16095public 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)
1149if (possibleParamsArray.IsParamsArrayOrCollection && !_inExpressionLambda && ((BoundArrayCreation)possibleParamsArray).Bounds is [BoundLiteral { ConstantValueOpt.Value: 0 }]) 1291if (paramsArray is BoundArrayCreation { Bounds: [BoundLiteral] bounds, InitializerOpt: BoundArrayInitialization { Initializers: var elements } initialization } creation)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
1304var 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)
516var receiverValue = new BoundLiteral(syntax, ConstantValue.Bad, receiverType) { WasCompilerGenerated = true };
Symbols\Synthesized\Records\SynthesizedRecordGetHashCode.cs (1)
92BoundLiteral? boundHashFactor = null;