From 4427b3b77359f65b3bfb5a147c342d5b8dbecf6c Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Wed, 6 Jun 2018 11:07:01 +0100 Subject: [PATCH] Add more struct readonlyness hints --- .../RenderTreeDiffBuilderBenchmark.cs | 2 +- .../Rendering/BrowserRenderer.cs | 2 +- .../Components/EventHandlerInvoker.cs | 2 +- .../Components/ParameterCollectionExtensions.cs | 2 +- src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeBuilder.cs | 2 +- .../RenderTree/RenderTreeDiffBuilder.cs | 2 +- src/Microsoft.AspNetCore.Blazor/Rendering/Renderer.cs | 2 +- .../RazorIntegrationTestBase.cs | 2 +- test/Microsoft.AspNetCore.Blazor.Test/RenderTreeBuilderTest.cs | 2 +- .../RenderTreeDiffBuilderTest.cs | 2 +- test/Microsoft.AspNetCore.Blazor.Test/RendererTest.cs | 2 +- test/shared/TestRenderer.cs | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/benchmarks/Microsoft.AspNetCore.Blazor.Performance/RenderTreeDiffBuilderBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Blazor.Performance/RenderTreeDiffBuilderBenchmark.cs index 9f81a9042d..4c5dad8b10 100644 --- a/benchmarks/Microsoft.AspNetCore.Blazor.Performance/RenderTreeDiffBuilderBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Blazor.Performance/RenderTreeDiffBuilderBenchmark.cs @@ -92,7 +92,7 @@ namespace Microsoft.AspNetCore.Blazor.Performance { } - protected override void UpdateDisplay(RenderBatch renderBatch) + protected override void UpdateDisplay(in RenderBatch renderBatch) { } } diff --git a/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRenderer.cs b/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRenderer.cs index 0569fffd69..af2ed485e8 100644 --- a/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRenderer.cs +++ b/src/Microsoft.AspNetCore.Blazor.Browser/Rendering/BrowserRenderer.cs @@ -76,7 +76,7 @@ namespace Microsoft.AspNetCore.Blazor.Browser.Rendering } /// - protected override void UpdateDisplay(RenderBatch batch) + protected override void UpdateDisplay(in RenderBatch batch) { RegisteredFunction.InvokeUnmarshalled( "renderBatch", diff --git a/src/Microsoft.AspNetCore.Blazor/Components/EventHandlerInvoker.cs b/src/Microsoft.AspNetCore.Blazor/Components/EventHandlerInvoker.cs index 40d58a3e29..c73d76fd2f 100644 --- a/src/Microsoft.AspNetCore.Blazor/Components/EventHandlerInvoker.cs +++ b/src/Microsoft.AspNetCore.Blazor/Components/EventHandlerInvoker.cs @@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Blazor.Components /// /// A bound event handler delegate. /// - public struct EventHandlerInvoker + public readonly struct EventHandlerInvoker { private readonly MulticastDelegate _delegate; diff --git a/src/Microsoft.AspNetCore.Blazor/Components/ParameterCollectionExtensions.cs b/src/Microsoft.AspNetCore.Blazor/Components/ParameterCollectionExtensions.cs index d0d9f9cb04..a0e85defbf 100644 --- a/src/Microsoft.AspNetCore.Blazor/Components/ParameterCollectionExtensions.cs +++ b/src/Microsoft.AspNetCore.Blazor/Components/ParameterCollectionExtensions.cs @@ -30,7 +30,7 @@ namespace Microsoft.AspNetCore.Blazor.Components /// The . /// An object that has a public writable property matching each parameter's name and type. public static void AssignToProperties( - this ParameterCollection parameterCollection, + in this ParameterCollection parameterCollection, object target) { if (target == null) diff --git a/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeBuilder.cs b/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeBuilder.cs index d98602d342..23426dc10d 100644 --- a/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeBuilder.cs +++ b/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeBuilder.cs @@ -306,7 +306,7 @@ namespace Microsoft.AspNetCore.Blazor.RenderTree /// /// An integer that represents the position of the instruction in the source code. /// A holding the name and value of the attribute. - public void AddAttribute(int sequence, RenderTreeFrame frame) + public void AddAttribute(int sequence, in RenderTreeFrame frame) { if (frame.FrameType != RenderTreeFrameType.Attribute) { diff --git a/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeDiffBuilder.cs b/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeDiffBuilder.cs index 538accdfed..3ef39edb34 100644 --- a/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeDiffBuilder.cs +++ b/src/Microsoft.AspNetCore.Blazor/RenderTree/RenderTreeDiffBuilder.cs @@ -291,7 +291,7 @@ namespace Microsoft.AspNetCore.Blazor.RenderTree } } - private static int NextSiblingIndex(RenderTreeFrame frame, int frameIndex) + private static int NextSiblingIndex(in RenderTreeFrame frame, int frameIndex) { switch (frame.FrameType) { diff --git a/src/Microsoft.AspNetCore.Blazor/Rendering/Renderer.cs b/src/Microsoft.AspNetCore.Blazor/Rendering/Renderer.cs index a6c5431547..8107870561 100644 --- a/src/Microsoft.AspNetCore.Blazor/Rendering/Renderer.cs +++ b/src/Microsoft.AspNetCore.Blazor/Rendering/Renderer.cs @@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Blazor.Rendering /// Updates the visible UI. /// /// The changes to the UI since the previous call. - protected abstract void UpdateDisplay(RenderBatch renderBatch); + protected abstract void UpdateDisplay(in RenderBatch renderBatch); /// /// Notifies the specified component that an event has occurred. diff --git a/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorIntegrationTestBase.cs b/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorIntegrationTestBase.cs index 4c8c67cab6..fe9a6818fd 100644 --- a/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorIntegrationTestBase.cs +++ b/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorIntegrationTestBase.cs @@ -370,7 +370,7 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test public void AttachComponent(IComponent component) => AssignComponentId(component); - protected override void UpdateDisplay(RenderBatch renderBatch) + protected override void UpdateDisplay(in RenderBatch renderBatch) { LatestBatchReferenceFrames = renderBatch.ReferenceFrames.ToArray(); } diff --git a/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeBuilderTest.cs b/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeBuilderTest.cs index 0c827cb4bf..d7b362c175 100644 --- a/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeBuilderTest.cs @@ -1005,7 +1005,7 @@ namespace Microsoft.AspNetCore.Blazor.Test { } - protected override void UpdateDisplay(RenderBatch renderBatch) + protected override void UpdateDisplay(in RenderBatch renderBatch) => throw new NotImplementedException(); } } diff --git a/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeDiffBuilderTest.cs b/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeDiffBuilderTest.cs index f0aeb8f6cc..fa9a432348 100644 --- a/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeDiffBuilderTest.cs +++ b/test/Microsoft.AspNetCore.Blazor.Test/RenderTreeDiffBuilderTest.cs @@ -1496,7 +1496,7 @@ namespace Microsoft.AspNetCore.Blazor.Test { } - protected override void UpdateDisplay(RenderBatch renderBatch) + protected override void UpdateDisplay(in RenderBatch renderBatch) { } } diff --git a/test/Microsoft.AspNetCore.Blazor.Test/RendererTest.cs b/test/Microsoft.AspNetCore.Blazor.Test/RendererTest.cs index 361971ae73..26f8d39f50 100644 --- a/test/Microsoft.AspNetCore.Blazor.Test/RendererTest.cs +++ b/test/Microsoft.AspNetCore.Blazor.Test/RendererTest.cs @@ -1080,7 +1080,7 @@ namespace Microsoft.AspNetCore.Blazor.Test public new int AssignComponentId(IComponent component) => base.AssignComponentId(component); - protected override void UpdateDisplay(RenderBatch renderBatch) + protected override void UpdateDisplay(in RenderBatch renderBatch) { } } diff --git a/test/shared/TestRenderer.cs b/test/shared/TestRenderer.cs index 2817338a8c..269e7001a6 100644 --- a/test/shared/TestRenderer.cs +++ b/test/shared/TestRenderer.cs @@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Blazor.Test.Helpers public T InstantiateComponent() where T : IComponent => (T)InstantiateComponent(typeof(T)); - protected override void UpdateDisplay(RenderBatch renderBatch) + protected override void UpdateDisplay(in RenderBatch renderBatch) { OnUpdateDisplay?.Invoke(renderBatch);