Skip to content

Commit d7f5b0e

Browse files
Remove unnecessary sequence params
1 parent 7c17aba commit d7f5b0e

File tree

10 files changed

+63
-65
lines changed

10 files changed

+63
-65
lines changed

src/Components/Components/src/PublicAPI.Unshipped.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ Microsoft.AspNetCore.Components.RenderHandle.DispatchExceptionAsync(System.Excep
2626
Microsoft.AspNetCore.Components.NavigationManager.ToAbsoluteUri(string? relativeUri) -> System.Uri!
2727
Microsoft.AspNetCore.Components.Rendering.ComponentState.LogicalParentComponentState.get -> Microsoft.AspNetCore.Components.Rendering.ComponentState?
2828
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddComponentParameter(int sequence, string! name, Microsoft.AspNetCore.Components.IComponentRenderMode! renderMode) -> void
29-
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddComponentRenderMode(int sequence, Microsoft.AspNetCore.Components.IComponentRenderMode! renderMode) -> void
3029
*REMOVED*Microsoft.AspNetCore.Components.RouteData.RouteData(System.Type! pageType, System.Collections.Generic.IReadOnlyDictionary<string!, object!>! routeValues) -> void
3130
*REMOVED*Microsoft.AspNetCore.Components.RouteData.RouteValues.get -> System.Collections.Generic.IReadOnlyDictionary<string!, object!>!
32-
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddNamedEvent(int sequence, string! eventType, string! assignedName) -> void
31+
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddComponentRenderMode(Microsoft.AspNetCore.Components.IComponentRenderMode! renderMode) -> void
32+
Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder.AddNamedEvent(string! eventType, string! assignedName) -> void
3333
Microsoft.AspNetCore.Components.RenderTree.ComponentFrameFlags
3434
Microsoft.AspNetCore.Components.RenderTree.ComponentFrameFlags.HasCallerSpecifiedRenderMode = 1 -> Microsoft.AspNetCore.Components.RenderTree.ComponentFrameFlags
3535
Microsoft.AspNetCore.Components.RenderTree.NamedEventChange

src/Components/Components/src/RenderTree/RenderTreeFrameArrayBuilder.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public void AppendRegion(int sequence)
135135
};
136136
}
137137

138-
public void AppendComponentRenderMode(int sequence, IComponentRenderMode renderMode)
138+
public void AppendComponentRenderMode(IComponentRenderMode renderMode)
139139
{
140140
if (_itemsInUse == _items.Length)
141141
{
@@ -144,13 +144,13 @@ public void AppendComponentRenderMode(int sequence, IComponentRenderMode renderM
144144

145145
_items[_itemsInUse++] = new RenderTreeFrame
146146
{
147-
SequenceField = sequence,
147+
SequenceField = 0, // We're only interested in one of these, so it's not useful to optimize diffing over multiple
148148
FrameTypeField = RenderTreeFrameType.ComponentRenderMode,
149149
ComponentRenderModeField = renderMode,
150150
};
151151
}
152152

153-
public void AppendNamedEvent(int sequence, string eventType, string assignedName)
153+
public void AppendNamedEvent(string eventType, string assignedName)
154154
{
155155
if (_itemsInUse == _items.Length)
156156
{
@@ -159,7 +159,7 @@ public void AppendNamedEvent(int sequence, string eventType, string assignedName
159159

160160
_items[_itemsInUse++] = new RenderTreeFrame
161161
{
162-
SequenceField = sequence,
162+
SequenceField = 0, // We're only interested in one of these per eventType, so it's not useful to optimize diffing over multiple
163163
FrameTypeField = RenderTreeFrameType.NamedEvent,
164164
NamedEventTypeField = eventType,
165165
NamedEventAssignedNameField = assignedName,

src/Components/Components/src/Rendering/RenderTreeBuilder.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public sealed class RenderTreeBuilder : IDisposable
2828
private bool _hasSeenAddMultipleAttributes;
2929
private Dictionary<string, int>? _seenAttributeNames;
3030
private IComponentRenderMode? _pendingComponentCallSiteRenderMode; // TODO: Remove when Razor compiler supports call-site @rendermode
31-
private (int Sequence, string AssignedName)? _pendingNamedSubmitEvent; // TODO: Remove when Razor compiler supports @formname
31+
private string? _pendingNamedSubmitEvent; // TODO: Remove when Razor compiler supports @formname
3232

3333
/// <summary>
3434
/// The reserved parameter name used for supplying child content.
@@ -83,9 +83,9 @@ public void CloseElement()
8383
// TODO: Remove this once Razor supports @formname
8484
private void CompletePendingNamedSubmitEvent()
8585
{
86-
if (_pendingNamedSubmitEvent is { } pendingNamedSubmitEvent)
86+
if (_pendingNamedSubmitEvent is not null)
8787
{
88-
AddNamedEvent(pendingNamedSubmitEvent.Sequence, "onsubmit", pendingNamedSubmitEvent.AssignedName);
88+
AddNamedEvent("onsubmit", _pendingNamedSubmitEvent);
8989
_pendingNamedSubmitEvent = default;
9090
}
9191
}
@@ -241,7 +241,7 @@ public void AddAttribute(int sequence, string name, string? value)
241241
// That should compile directly as a call to AddNamedEvent.
242242
if (string.Equals(name, "@formname", StringComparison.Ordinal) && _lastNonAttributeFrameType == RenderTreeFrameType.Element)
243243
{
244-
_pendingNamedSubmitEvent = (sequence, value!);
244+
_pendingNamedSubmitEvent = value!;
245245
}
246246
else
247247
{
@@ -623,7 +623,7 @@ public void CloseComponent()
623623
{
624624
if (_pendingComponentCallSiteRenderMode is not null)
625625
{
626-
AddComponentRenderMode(0, _pendingComponentCallSiteRenderMode);
626+
AddComponentRenderMode(_pendingComponentCallSiteRenderMode);
627627
_pendingComponentCallSiteRenderMode = null;
628628
}
629629

@@ -681,9 +681,8 @@ public void AddComponentReferenceCapture(int sequence, Action<object> componentR
681681
/// <summary>
682682
/// Adds a frame indicating the render mode on the enclosing component frame.
683683
/// </summary>
684-
/// <param name="sequence">An integer that represents the position of the instruction in the source code.</param>
685684
/// <param name="renderMode">The <see cref="IComponentRenderMode"/>.</param>
686-
public void AddComponentRenderMode(int sequence, IComponentRenderMode renderMode)
685+
public void AddComponentRenderMode(IComponentRenderMode renderMode)
687686
{
688687
ArgumentNullException.ThrowIfNull(renderMode);
689688

@@ -709,17 +708,16 @@ public void AddComponentRenderMode(int sequence, IComponentRenderMode renderMode
709708

710709
parentFrame.ComponentFrameFlagsField |= ComponentFrameFlags.HasCallerSpecifiedRenderMode;
711710

712-
_entries.AppendComponentRenderMode(sequence, renderMode);
711+
_entries.AppendComponentRenderMode(renderMode);
713712
_lastNonAttributeFrameType = RenderTreeFrameType.ComponentRenderMode;
714713
}
715714

716715
/// <summary>
717716
/// Assigns a name to an event in the enclosing element.
718717
/// </summary>
719-
/// <param name="sequence">An integer that represents the position of the instruction in the source code.</param>
720718
/// <param name="eventType">The event type, e.g., 'onsubmit'.</param>
721719
/// <param name="assignedName">The application-assigned name.</param>
722-
public void AddNamedEvent(int sequence, string eventType, string assignedName)
720+
public void AddNamedEvent(string eventType, string assignedName)
723721
{
724722
ArgumentNullException.ThrowIfNull(eventType);
725723
ArgumentException.ThrowIfNullOrEmpty(assignedName);
@@ -733,7 +731,7 @@ public void AddNamedEvent(int sequence, string eventType, string assignedName)
733731
throw new InvalidOperationException($"Named events may only be added as children of frames of type {RenderTreeFrameType.Element}");
734732
}
735733

736-
_entries.AppendNamedEvent(sequence, eventType, assignedName);
734+
_entries.AppendNamedEvent(eventType, assignedName);
737735
_lastNonAttributeFrameType = RenderTreeFrameType.NamedEvent;
738736
}
739737

src/Components/Components/test/RenderTreeDiffBuilderTest.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2220,10 +2220,10 @@ public void RecognizesNamedEventBeingAdded()
22202220

22212221
newTree.OpenElement(0, "existing");
22222222
newTree.AddAttribute(1, "attr1", "unrelated val1");
2223-
newTree.AddNamedEvent(2, "someevent1", "added to existing element");
2223+
newTree.AddNamedEvent("someevent1", "added to existing element");
22242224
newTree.CloseElement();
2225-
newTree.OpenElement(3, "new element");
2226-
newTree.AddNamedEvent(4, "someevent2", "added with new element");
2225+
newTree.OpenElement(2, "new element");
2226+
newTree.AddNamedEvent("someevent2", "added with new element");
22272227
newTree.CloseElement();
22282228

22292229
// Act
@@ -2247,10 +2247,10 @@ public void RecognizesNamedEventBeingRemoved()
22472247
{
22482248
oldTree.OpenElement(0, "retaining");
22492249
oldTree.AddAttribute(1, "attr1", "unrelated val1");
2250-
oldTree.AddNamedEvent(2, "someevent1", "removing from retained element");
2250+
oldTree.AddNamedEvent("someevent1", "removing from retained element");
22512251
oldTree.CloseElement();
2252-
oldTree.OpenElement(3, "removing");
2253-
oldTree.AddNamedEvent(4, "someevent2", "removed because element was removed");
2252+
oldTree.OpenElement(2, "removing");
2253+
oldTree.AddNamedEvent("someevent2", "removed because element was removed");
22542254
oldTree.CloseElement();
22552255

22562256
newTree.OpenElement(0, "retaining");
@@ -2272,12 +2272,12 @@ public void RecognizesNamedEventBeingRemoved()
22722272
public void RecognizesNamedEventBeingMoved()
22732273
{
22742274
oldTree.OpenElement(0, "elem");
2275-
oldTree.AddNamedEvent(2, "eventname", "assigned name");
2275+
oldTree.AddNamedEvent("eventname", "assigned name");
22762276
oldTree.CloseElement();
22772277

22782278
newTree.OpenElement(0, "elem");
22792279
newTree.AddAttribute(1, "attr1", "unrelated val1");
2280-
newTree.AddNamedEvent(2, "eventname", "assigned name");
2280+
newTree.AddNamedEvent("eventname", "assigned name");
22812281
newTree.CloseElement();
22822282

22832283
// Act
@@ -2300,13 +2300,13 @@ public void RecognizesNamedEventBeingMoved()
23002300
public void RecognizesNamedEventChangingAssignedName()
23012301
{
23022302
oldTree.OpenElement(0, "elem");
2303-
oldTree.AddNamedEvent(1, "eventname1", "original name");
2304-
oldTree.AddNamedEvent(2, "eventname2", "will be left unchanged");
2303+
oldTree.AddNamedEvent("eventname1", "original name");
2304+
oldTree.AddNamedEvent("eventname2", "will be left unchanged");
23052305
oldTree.CloseElement();
23062306

23072307
newTree.OpenElement(0, "elem");
2308-
newTree.AddNamedEvent(1, "eventname1", "changed name");
2309-
newTree.AddNamedEvent(2, "eventname2", "will be left unchanged");
2308+
newTree.AddNamedEvent("eventname1", "changed name");
2309+
newTree.AddNamedEvent("eventname2", "will be left unchanged");
23102310
newTree.CloseElement();
23112311

23122312
// Act

src/Components/Components/test/RendererTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5002,7 +5002,7 @@ public void ThrowsForUnknownRenderMode_AtCallSite()
50025002
var component = new TestComponent(builder =>
50035003
{
50045004
builder.OpenComponent<TestComponent>(0);
5005-
builder.AddComponentRenderMode(1, new ComponentWithUnknownRenderMode.UnknownRenderMode());
5005+
builder.AddComponentRenderMode(new ComponentWithUnknownRenderMode.UnknownRenderMode());
50065006
builder.CloseComponent();
50075007
});
50085008

@@ -5046,7 +5046,7 @@ public void RenderModeResolverCanSupplyComponent_CallSiteRenderMode()
50465046
{
50475047
builder.OpenComponent<TestComponent>(0);
50485048
builder.AddComponentParameter(1, nameof(MessageComponent.Message), "Some message");
5049-
builder.AddComponentRenderMode(2, new SubstituteComponentRenderMode());
5049+
builder.AddComponentRenderMode(new SubstituteComponentRenderMode());
50505050
builder.CloseComponent();
50515051
});
50525052

src/Components/Components/test/Rendering/RenderTreeBuilderTest.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2110,7 +2110,7 @@ public void CanAddComponentRenderMode()
21102110
// Act
21112111
builder.OpenComponent<TestComponent>(0);
21122112
builder.AddComponentParameter(1, "param", 123);
2113-
builder.AddComponentRenderMode(2, renderMode);
2113+
builder.AddComponentRenderMode(renderMode);
21142114
builder.CloseComponent();
21152115

21162116
// Assert
@@ -2122,7 +2122,7 @@ public void CanAddComponentRenderMode()
21222122
Assert.True(frame.ComponentFrameFlags.HasFlag(ComponentFrameFlags.HasCallerSpecifiedRenderMode));
21232123
},
21242124
frame => AssertFrame.Attribute(frame, "param", 123, 1),
2125-
frame => AssertFrame.ComponentRenderMode(frame, renderMode, 2));
2125+
frame => AssertFrame.ComponentRenderMode(frame, renderMode));
21262126
}
21272127

21282128
[Fact]
@@ -2135,7 +2135,7 @@ public void CannotAddComponentRenderModeToElement()
21352135
// Act/Assert
21362136
var ex = Assert.Throws<InvalidOperationException>(() =>
21372137
{
2138-
builder.AddComponentRenderMode(1, new TestRenderMode());
2138+
builder.AddComponentRenderMode(new TestRenderMode());
21392139
});
21402140
Assert.Equal($"The enclosing frame is not of the required type '{nameof(RenderTreeFrameType.Component)}'.", ex.Message);
21412141
}
@@ -2150,7 +2150,7 @@ public void CannotAddNullComponentRenderMode()
21502150
// Act/Assert
21512151
var ex = Assert.Throws<ArgumentNullException>(() =>
21522152
{
2153-
builder.AddComponentRenderMode(1, null);
2153+
builder.AddComponentRenderMode(null);
21542154
});
21552155
Assert.Equal("renderMode", ex.ParamName);
21562156
}
@@ -2161,7 +2161,7 @@ public void CannotAddParametersAfterComponentRenderMode()
21612161
// Arrange
21622162
var builder = new RenderTreeBuilder();
21632163
builder.OpenComponent<TestComponent>(0);
2164-
builder.AddComponentRenderMode(1, new TestRenderMode());
2164+
builder.AddComponentRenderMode(new TestRenderMode());
21652165

21662166
// Act/Assert
21672167
var ex = Assert.Throws<InvalidOperationException>(() =>
@@ -2201,7 +2201,7 @@ public void TemporaryApiForCallSiteComponentRenderModeWorksEvenIfOtherParameterA
22012201
},
22022202
frame => AssertFrame.Attribute(frame, "param", 123, 1),
22032203
frame => AssertFrame.Attribute(frame, "anotherparam", 456, 3),
2204-
frame => AssertFrame.ComponentRenderMode(frame, renderMode, 0));
2204+
frame => AssertFrame.ComponentRenderMode(frame, renderMode));
22052205
}
22062206

22072207
[Fact]
@@ -2214,7 +2214,7 @@ public void CanAddNamedEvent()
22142214
// Act
22152215
builder.OpenElement(0, "elem");
22162216
builder.AddAttribute(1, "attr", 123);
2217-
builder.AddNamedEvent(2, "myeventtype", "my event name");
2217+
builder.AddNamedEvent("myeventtype", "my event name");
22182218
builder.CloseElement();
22192219

22202220
// Assert
@@ -2235,7 +2235,7 @@ public void CannotAddNamedEventToComponent()
22352235
// Act/Assert
22362236
var ex = Assert.Throws<InvalidOperationException>(() =>
22372237
{
2238-
builder.AddNamedEvent(1, "x", "y");
2238+
builder.AddNamedEvent("x", "y");
22392239
});
22402240
Assert.Equal($"Named events may only be added as children of frames of type {RenderTreeFrameType.Element}", ex.Message);
22412241
}
@@ -2250,7 +2250,7 @@ public void CannotAddNamedEventWithNullEventType()
22502250
// Act/Assert
22512251
var ex = Assert.Throws<ArgumentNullException>(() =>
22522252
{
2253-
builder.AddNamedEvent(1, null, "assigned name");
2253+
builder.AddNamedEvent(null, "assigned name");
22542254
});
22552255
Assert.Equal("eventType", ex.ParamName);
22562256
}
@@ -2265,7 +2265,7 @@ public void CannotAddNamedEventWithNullAssignedName()
22652265
// Act/Assert
22662266
var ex = Assert.Throws<ArgumentNullException>(() =>
22672267
{
2268-
builder.AddNamedEvent(1, "eventtype", null);
2268+
builder.AddNamedEvent("eventtype", null);
22692269
});
22702270
Assert.Equal("assignedName", ex.ParamName);
22712271
}
@@ -2280,7 +2280,7 @@ public void CannotAddNamedEventWithEmptyAssignedName()
22802280
// Act/Assert
22812281
var ex = Assert.Throws<ArgumentException>(() =>
22822282
{
2283-
builder.AddNamedEvent(1, "eventtype", "");
2283+
builder.AddNamedEvent("eventtype", "");
22842284
});
22852285
Assert.Equal("assignedName", ex.ParamName);
22862286
}
@@ -2291,7 +2291,7 @@ public void CannotAddAttributesAfterNamedEvent()
22912291
// Arrange
22922292
var builder = new RenderTreeBuilder();
22932293
builder.OpenElement(0, "elem");
2294-
builder.AddNamedEvent(1, "someevent", "somename");
2294+
builder.AddNamedEvent("someevent", "somename");
22952295

22962296
// Act/Assert
22972297
var ex = Assert.Throws<InvalidOperationException>(() =>
@@ -2325,7 +2325,7 @@ public void TemporaryApiForFormNameEventsWorksEvenIfAttributesAddedAfter()
23252325
frame => AssertFrame.Element(frame, "div", 5, 0),
23262326
frame => AssertFrame.Attribute(frame, "attr1", "123", 1),
23272327
frame => AssertFrame.Attribute(frame, "attr2", "456", 3),
2328-
frame => AssertFrame.NamedEvent(frame, "onsubmit", "some custom name", 2),
2328+
frame => AssertFrame.NamedEvent(frame, "onsubmit", "some custom name"),
23292329
frame => AssertFrame.Element(frame, "other", 1));
23302330
}
23312331

src/Components/Endpoints/test/EndpointHtmlRendererTest.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -980,7 +980,7 @@ public async Task Dispatching_WhenComponentReRendersNamedEventAtSameLocation()
980980
builder.SetKey(firstRender);
981981

982982
builder.AddAttribute(1, "onsubmit", () => { eventReceivedCount++; component.TriggerRender(); });
983-
builder.AddNamedEvent(2, "onsubmit", "my-name");
983+
builder.AddNamedEvent("onsubmit", "my-name");
984984
builder.CloseElement();
985985

986986
firstRender = false;
@@ -1014,7 +1014,7 @@ public async Task Dispatching_WhenNamedEventChangesName()
10141014
{
10151015
builder.OpenElement(0, "form");
10161016
builder.AddAttribute(1, "onsubmit", () => { eventReceivedCount++; });
1017-
builder.AddNamedEvent(2, "onsubmit", firstRender ? "my-name-1" : "my-name-2");
1017+
builder.AddNamedEvent("onsubmit", firstRender ? "my-name-1" : "my-name-2");
10181018
builder.CloseElement();
10191019
firstRender = false;
10201020
});
@@ -1186,7 +1186,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
11861186
{
11871187
builder.OpenElement(0, "form");
11881188
builder.AddAttribute(1, "onsubmit", Handler ?? (() => { }));
1189-
builder.AddNamedEvent(2, "onsubmit", "default");
1189+
builder.AddNamedEvent("onsubmit", "default");
11901190
builder.CloseElement();
11911191
}
11921192
}
@@ -1201,12 +1201,12 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
12011201
if (!hasRendered)
12021202
{
12031203
builder.AddAttribute(1, "onsubmit", () => { });
1204-
builder.AddNamedEvent(2, "onsubmit", "default");
1204+
builder.AddNamedEvent("onsubmit", "default");
12051205
}
12061206
else
12071207
{
12081208
builder.AddAttribute(1, "onsubmit", () => { GC.KeepAlive(new object()); });
1209-
builder.AddNamedEvent(2, "onsubmit", "default");
1209+
builder.AddNamedEvent("onsubmit", "default");
12101210
}
12111211
builder.CloseElement();
12121212
if (!hasRendered)
@@ -1231,7 +1231,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
12311231
builder.AddAttribute(1, "onsubmit", !hasRendered
12321232
? () => { Message = "Received call to original handler"; }
12331233
: () => { Message = "Received call to updated handler"; });
1234-
builder.AddNamedEvent(2, "onsubmit", "default");
1234+
builder.AddNamedEvent("onsubmit", "default");
12351235
builder.CloseElement();
12361236
}
12371237

@@ -1248,7 +1248,7 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
12481248
{
12491249
builder.OpenElement(0, "form");
12501250
builder.AddAttribute(1, "onsubmit", () => { });
1251-
builder.AddNamedEvent(2, "onsubmit", "default");
1251+
builder.AddNamedEvent("onsubmit", "default");
12521252
builder.CloseElement();
12531253
}
12541254
}

0 commit comments

Comments
 (0)