2 types derived from Rope
Microsoft.CodeAnalysis (2)
Collections\Rope.cs (2)
144
private sealed class StringRope :
Rope
173
private sealed class ConcatRope :
Rope
31 references to Rope
Microsoft.CodeAnalysis (21)
Collections\Rope.cs (14)
18
public static readonly
Rope
Empty = ForString("");
30
private readonly Stack<
Rope
>? _stack;
39
internal Enumerator(
Rope
rope)
43
_stack = new Stack<
Rope
>();
86
public static
Rope
ForString(string s)
97
public static
Rope
Concat(
Rope
r1,
Rope
r2)
117
if (!(obj is
Rope
other) || Length != other.Length)
175
internal readonly
Rope
_left, _right;
178
public ConcatRope(
Rope
left,
Rope
right)
188
var stack = new Stack<
Rope
>();
217
var stack = new Stack<
Rope
>();
ConstantValue.cs (2)
46
internal virtual
Rope
? RopeValue { get { throw new InvalidOperationException(); } }
111
internal static ConstantValue CreateFromRope(
Rope
value)
ConstantValueSpecialized.cs (5)
96
internal override
Rope
? RopeValue
136
private readonly
Rope
_value;
149
_value =
Rope
.ForString(value);
152
public ConstantValueString(
Rope
value)
192
internal override
Rope
RopeValue
Microsoft.CodeAnalysis.CSharp (10)
Binder\Binder_Operators.cs (5)
3205
Rope
leftValue = valueLeft.RopeValue ??
Rope
.Empty;
3206
Rope
rightValue = valueRight.RopeValue ??
Rope
.Empty;
3209
return (newLength > int.MaxValue) ? ConstantValue.Bad : ConstantValue.CreateFromRope(
Rope
.Concat(leftValue, rightValue));
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (5)
321
var
next = getRope(constantValue);
322
var
current = getRope(argument.ConstantValueOpt);
323
followingArgument = _factory.StringLiteral(ConstantValue.CreateFromRope(
Rope
.Concat(current, next)));
332
static
Rope
getRope(ConstantValue constantValue)
341
return
Rope
.ForString(constantValue.CharValue.ToString());