Browse Source

Use collection expressions (#2073)

Marko Lahma 4 months ago
parent
commit
c57a4a8fe5

+ 2 - 2
Jint.Benchmark/DictionaryBenchmark.cs

@@ -7,7 +7,7 @@ namespace Jint.Benchmark;
 public class DictionaryBenchmark
 public class DictionaryBenchmark
 {
 {
     private static readonly string[] _keys =
     private static readonly string[] _keys =
-    {
+    [
         "some",
         "some",
         "key and",
         "key and",
         "another",
         "another",
@@ -20,7 +20,7 @@ public class DictionaryBenchmark
         "asdadsasa",
         "asdadsasa",
         "23323232323",
         "23323232323",
         "asdadsada sa213"
         "asdadsada sa213"
-    };
+    ];
 
 
     [Params(0, 2, 3, 5, 8, 9, 10)]
     [Params(0, 2, 3, 5, 8, 9, 10)]
     public int N { get; set; }
     public int N { get; set; }

+ 1 - 1
Jint.Benchmark/UncacheableExpressionsBenchmark.cs

@@ -103,6 +103,6 @@ function output(d) {
         engine = new Engine(InitializeEngine);
         engine = new Engine(InitializeEngine);
         engine.Execute(script);
         engine.Execute(script);
         engine.Execute(targetObject);
         engine.Execute(targetObject);
-        targetJsObject = new[] { engine.GetValue("d") };
+        targetJsObject = [engine.GetValue("d")];
     }
     }
 }
 }

+ 1 - 1
Jint.Tests/Runtime/ArrayTests.cs

@@ -346,7 +346,7 @@ return get + '' === ""length,0,1,2,3"";";
     public void ShouldBeAbleToInitFromArray()
     public void ShouldBeAbleToInitFromArray()
     {
     {
         var engine = new Engine();
         var engine = new Engine();
-        var propertyDescriptors = new JsArray(engine, new JsValue[] { 1 }).GetOwnProperties().ToArray();
+        var propertyDescriptors = new JsArray(engine, [1]).GetOwnProperties().ToArray();
         Assert.Equal(2, propertyDescriptors.Length);
         Assert.Equal(2, propertyDescriptors.Length);
         Assert.Equal("0", propertyDescriptors[0].Key);
         Assert.Equal("0", propertyDescriptors[0].Key);
         Assert.Equal(1, propertyDescriptors[0].Value.Value);
         Assert.Equal(1, propertyDescriptors[0].Value.Value);

+ 1 - 1
Jint.Tests/Runtime/Domain/Dimensional.cs

@@ -2,7 +2,7 @@
 
 
 public class Dimensional : IComparable<Dimensional>, IEquatable<Dimensional>
 public class Dimensional : IComparable<Dimensional>, IEquatable<Dimensional>
 {
 {
-    private readonly MeasureUnit[] PossibleMeasureUnits = new MeasureUnit[] { new MeasureUnit("Mass", "kg", 1.0), new MeasureUnit("Mass", "gr", 0.001), new MeasureUnit("Count", "piece", 1.0) };
+    private readonly MeasureUnit[] PossibleMeasureUnits = [new MeasureUnit("Mass", "kg", 1.0), new MeasureUnit("Mass", "gr", 0.001), new MeasureUnit("Count", "piece", 1.0)];
 
 
     public MeasureUnit MeasureUnit { get; private set; }
     public MeasureUnit MeasureUnit { get; private set; }
 
 

+ 1 - 1
Jint.Tests/Runtime/Domain/IntegerIndexer.cs

@@ -6,7 +6,7 @@ public class IntegerIndexer
 
 
     public IntegerIndexer()
     public IntegerIndexer()
     {
     {
-        data = new[] {123, 0, 0, 0, 0};
+        data = [123, 0, 0, 0, 0];
     }
     }
 
 
     public int this[int i]
     public int this[int i]

+ 6 - 6
Jint.Tests/Runtime/EngineTests.cs

@@ -1187,12 +1187,12 @@ public partial class EngineTests : IDisposable
     {
     {
         get
         get
         {
         {
-            yield return new object[] { new DateTime(2000, 1, 1) };
-            yield return new object[] { new DateTime(2000, 1, 1, 0, 15, 15, 15) };
-            yield return new object[] { new DateTime(2000, 6, 1, 0, 15, 15, 15) };
-            yield return new object[] { new DateTime(1900, 1, 1) };
-            yield return new object[] { new DateTime(1900, 1, 1, 0, 15, 15, 15) };
-            yield return new object[] { new DateTime(1900, 6, 1, 0, 15, 15, 15) };
+            yield return [new DateTime(2000, 1, 1)];
+            yield return [new DateTime(2000, 1, 1, 0, 15, 15, 15)];
+            yield return [new DateTime(2000, 6, 1, 0, 15, 15, 15)];
+            yield return [new DateTime(1900, 1, 1)];
+            yield return [new DateTime(1900, 1, 1, 0, 15, 15, 15)];
+            yield return [new DateTime(1900, 6, 1, 0, 15, 15, 15)];
         }
         }
     }
     }
 
 

+ 2 - 2
Jint.Tests/Runtime/ExtensionMethods/CustomStringExtensions.cs

@@ -22,13 +22,13 @@ public static class CustomStringExtensions
 
 
     public static string[] Split(this string value, string split, StringSplitOptions options)
     public static string[] Split(this string value, string split, StringSplitOptions options)
     {
     {
-        return Array.Empty<string>();
+        return [];
     }
     }
 
 
     public static string[] Split(this string value, int position)
     public static string[] Split(this string value, int position)
     {
     {
         var first = value.Substring(0, position);
         var first = value.Substring(0, position);
         var second = value.Substring(position);
         var second = value.Substring(position);
-        return new string[] { first, second };
+        return [first, second];
     }
     }
 }
 }

+ 10 - 10
Jint.Tests/Runtime/FunctionTests.cs

@@ -84,7 +84,7 @@ assertEqual(booleanCount, 1);
         engine
         engine
             .SetValue("testFunction", new ClrFunction(engine, "testFunction", (thisValue, args) =>
             .SetValue("testFunction", new ClrFunction(engine, "testFunction", (thisValue, args) =>
             {
             {
-                return engine.Invoke(thisValue, "then", new[] { JsValue.Undefined, args.At(0) });
+                return engine.Invoke(thisValue, "then", [JsValue.Undefined, args.At(0)]);
             }))
             }))
             .SetValue("assertEqual", new Action<object, object>((a, b) => Assert.Equal(b, a)))
             .SetValue("assertEqual", new Action<object, object>((a, b) => Assert.Equal(b, a)))
             .Execute(Script);
             .Execute(Script);
@@ -142,10 +142,10 @@ assertEqual(booleanCount, 1);
 
 
         Assert.Equal(5, engine.Evaluate("a"));
         Assert.Equal(5, engine.Evaluate("a"));
 
 
-        ev(null, new JsValue[0]);
+        ev(null, []);
         Assert.Equal(10, engine.Evaluate("a"));
         Assert.Equal(10, engine.Evaluate("a"));
 
 
-        ev(null, new JsValue[] { 20 });
+        ev(null, [20]);
         Assert.Equal(30, engine.Evaluate("a"));
         Assert.Equal(30, engine.Evaluate("a"));
     }
     }
 
 
@@ -174,10 +174,10 @@ assertEqual(booleanCount, 1);
 
 
         Assert.Equal(5, engine.Evaluate("a"));
         Assert.Equal(5, engine.Evaluate("a"));
 
 
-        ev(null, new JsValue[0]);
+        ev(null, []);
         Assert.Equal(10, engine.Evaluate("a"));
         Assert.Equal(10, engine.Evaluate("a"));
 
 
-        ev(null, new JsValue[] { 20 });
+        ev(null, [20]);
         Assert.Equal(30, engine.Evaluate("a"));
         Assert.Equal(30, engine.Evaluate("a"));
     }
     }
 
 
@@ -196,11 +196,11 @@ assertEqual(booleanCount, 1);
 
 
         engine.Execute(@"addListener(Boolean)");
         engine.Execute(@"addListener(Boolean)");
 
 
-        Assert.Equal(true, ev(JsValue.Undefined, new JsValue[] { "test" }));
-        Assert.Equal(true, ev(JsValue.Undefined, new JsValue[] { 5 }));
-        Assert.Equal(false, ev(JsValue.Undefined, new JsValue[] { false }));
-        Assert.Equal(false, ev(JsValue.Undefined, new JsValue[] { 0}));
-        Assert.Equal(false, ev(JsValue.Undefined, new JsValue[] { JsValue.Undefined }));
+        Assert.Equal(true, ev(JsValue.Undefined, ["test"]));
+        Assert.Equal(true, ev(JsValue.Undefined, [5]));
+        Assert.Equal(false, ev(JsValue.Undefined, [false]));
+        Assert.Equal(false, ev(JsValue.Undefined, [0]));
+        Assert.Equal(false, ev(JsValue.Undefined, [JsValue.Undefined]));
     }
     }
 
 
     [Fact]
     [Fact]

+ 3 - 3
Jint.Tests/Runtime/InteropTests.cs

@@ -2813,7 +2813,7 @@ public partial class InteropTests : IDisposable
         var result = engine.GetValue("f");
         var result = engine.GetValue("f");
         Assert.True(result.IsCallable);
         Assert.True(result.IsCallable);
 
 
-        Assert.True(result.Call(Array.Empty<JsValue>()).AsBoolean());
+        Assert.True(result.Call([]).AsBoolean());
         Assert.True(result.Call().AsBoolean());
         Assert.True(result.Call().AsBoolean());
     }
     }
 
 
@@ -3422,7 +3422,7 @@ try {
 
 
     public class Utils
     public class Utils
     {
     {
-        public IStringCollection GetStrings() => new Strings(new[] { "a", "b", "c" });
+        public IStringCollection GetStrings() => new Strings(["a", "b", "c"]);
     }
     }
 
 
     [Fact]
     [Fact]
@@ -3722,7 +3722,7 @@ try {
     public class Zoo
     public class Zoo
     {
     {
         public Animal king { get => (new Animal[] { new Lion() })[0]; }
         public Animal king { get => (new Animal[] { new Lion() })[0]; }
-        public Animal[] animals { get => new Animal[] { new Lion(), new Elephant() }; }
+        public Animal[] animals { get => [new Lion(), new Elephant()]; }
     }
     }
 
 
     [Fact]
     [Fact]

+ 5 - 5
Jint.Tests/Runtime/JsonSerializerTests.cs

@@ -59,7 +59,7 @@ public class JsonSerializerTests
         JsObject instance = new JsObject(engine);
         JsObject instance = new JsObject(engine);
         instance["a"] = "b";
         instance["a"] = "b";
         instance["b"] = 2;
         instance["b"] = 2;
-        instance["c"] = new JsArray(engine, new JsValue[] { new JsNumber(4), new JsNumber(5), new JsNumber(6) });
+        instance["c"] = new JsArray(engine, [new JsNumber(4), new JsNumber(5), new JsNumber(6)]);
         instance["d"] = true;
         instance["d"] = true;
 
 
         string actual = serializer.Serialize(instance, JsValue.Undefined, new JsNumber(2)).ToString();
         string actual = serializer.Serialize(instance, JsValue.Undefined, new JsNumber(2)).ToString();
@@ -75,7 +75,7 @@ public class JsonSerializerTests
         JsObject instance = new JsObject(engine);
         JsObject instance = new JsObject(engine);
         instance["a"] = "b";
         instance["a"] = "b";
         instance["b"] = 2;
         instance["b"] = 2;
-        instance["c"] = new JsArray(engine, new JsValue[] { new JsNumber(4), new JsNumber(5), new JsNumber(6) });
+        instance["c"] = new JsArray(engine, [new JsNumber(4), new JsNumber(5), new JsNumber(6)]);
         instance["d"] = true;
         instance["d"] = true;
 
 
         string actual = serializer.Serialize(instance, JsValue.Undefined, JsValue.Undefined).ToString();
         string actual = serializer.Serialize(instance, JsValue.Undefined, JsValue.Undefined).ToString();
@@ -88,7 +88,7 @@ public class JsonSerializerTests
         using var engine = new Engine();
         using var engine = new Engine();
         var serializer = new JsonSerializer(engine);
         var serializer = new JsonSerializer(engine);
 
 
-        JsArray array = new JsArray(engine, new JsValue[] { JsValue.Undefined, new JsNumber(42) });
+        JsArray array = new JsArray(engine, [JsValue.Undefined, new JsNumber(42)]);
         string actual = serializer.Serialize(array, JsValue.Undefined, JsValue.Undefined).ToString();
         string actual = serializer.Serialize(array, JsValue.Undefined, JsValue.Undefined).ToString();
         Assert.Equal("[null,42]", actual);
         Assert.Equal("[null,42]", actual);
     }
     }
@@ -125,7 +125,7 @@ public class JsonSerializerTests
     {
     {
         using var engine = new Engine();
         using var engine = new Engine();
         var serializer = new JsonSerializer(engine);
         var serializer = new JsonSerializer(engine);
-        JsArray array = new JsArray(engine, new JsValue[] { JsNumber.DoubleNegativeInfinity, JsNumber.DoublePositiveInfinity, JsNumber.DoubleNaN });
+        JsArray array = new JsArray(engine, [JsNumber.DoubleNegativeInfinity, JsNumber.DoublePositiveInfinity, JsNumber.DoubleNaN]);
         string actual = serializer.Serialize(array, JsValue.Undefined, JsValue.Undefined).ToString();
         string actual = serializer.Serialize(array, JsValue.Undefined, JsValue.Undefined).ToString();
         Assert.Equal("[null,null,null]", actual);
         Assert.Equal("[null,null,null]", actual);
     }
     }
@@ -139,7 +139,7 @@ public class JsonSerializerTests
         JsObject instance = new JsObject(engine);
         JsObject instance = new JsObject(engine);
         instance["a"] = 21;
         instance["a"] = 21;
         instance["b"] = 42;
         instance["b"] = 42;
-        JsValue replacer = new JsArray(engine, new JsValue[] { new JsString("b"), new JsString("z") });
+        JsValue replacer = new JsArray(engine, [new JsString("b"), new JsString("z")]);
         string actual = serializer.Serialize(instance, replacer, JsValue.Undefined).ToString();
         string actual = serializer.Serialize(instance, replacer, JsValue.Undefined).ToString();
         Assert.Equal("{\"b\":42}", actual);
         Assert.Equal("{\"b\":42}", actual);
     }
     }

+ 8 - 10
Jint.Tests/Runtime/ModuleTests.cs

@@ -229,20 +229,18 @@ import * as fns from 'imported-module';
 export const result = [fns.act_noargs(), fns.act_args('ok'), fns.fn_noargs(), fns.fn_args('ok')];");
 export const result = [fns.act_noargs(), fns.act_args('ok'), fns.fn_noargs(), fns.fn_args('ok')];");
         var ns =  _engine.Modules.Import("my-module");
         var ns =  _engine.Modules.Import("my-module");
 
 
-        Assert.Equal(new[]
-        {
+        Assert.Equal([
             "act_noargs",
             "act_noargs",
             "act_args:ok",
             "act_args:ok",
             "fn_noargs",
             "fn_noargs",
             "fn_args:ok"
             "fn_args:ok"
-        }, received.ToArray());
-        Assert.Equal(new[]
-        {
+        ], received.ToArray());
+        Assert.Equal([
             "undefined",
             "undefined",
             "undefined",
             "undefined",
             "ret",
             "ret",
             "ret"
             "ret"
-        }, ns.Get("result").AsArray().Select(x => x.ToString()).ToArray());
+        ], ns.Get("result").AsArray().Select(x => x.ToString()).ToArray());
     }
     }
 
 
     private class ImportedClass
     private class ImportedClass
@@ -398,7 +396,7 @@ export const count = globals.counter;
     log(value);
     log(value);
 })();
 })();
 ";
 ";
-        List<string> logStatements = new List<string>();
+        List<string> logStatements = [];
         engine.SetValue("log", logStatements.Add);
         engine.SetValue("log", logStatements.Add);
 
 
         engine.Execute(code, source: "file:///folder/main.js");
         engine.Execute(code, source: "file:///folder/main.js");
@@ -423,7 +421,7 @@ export const count = globals.counter;
     log(value);
     log(value);
 })();
 })();
 ";
 ";
-        List<string> logStatements = new List<string>();
+        List<string> logStatements = [];
         engine.SetValue("log", logStatements.Add);
         engine.SetValue("log", logStatements.Add);
 
 
         var script = Engine.PrepareScript(code, source: "file:///folder/main.js");
         var script = Engine.PrepareScript(code, source: "file:///folder/main.js");
@@ -449,7 +447,7 @@ export const count = globals.counter;
     log(value);
     log(value);
 })();
 })();
 ";
 ";
-        List<string> logStatements = new List<string>();
+        List<string> logStatements = [];
         engine.SetValue("log", logStatements.Add);
         engine.SetValue("log", logStatements.Add);
 
 
         engine.Evaluate(code, source: "file:///folder/main.js");
         engine.Evaluate(code, source: "file:///folder/main.js");
@@ -474,7 +472,7 @@ export const count = globals.counter;
     log(value);
     log(value);
 })();
 })();
 ";
 ";
-        List<string> logStatements = new List<string>();
+        List<string> logStatements = [];
         engine.SetValue("log", logStatements.Add);
         engine.SetValue("log", logStatements.Add);
 
 
         var script = Engine.PrepareScript(code, source: "file:///folder/main.js");
         var script = Engine.PrepareScript(code, source: "file:///folder/main.js");

+ 4 - 4
Jint.Tests/Runtime/PromiseTests.cs

@@ -503,7 +503,7 @@ return Promise.all(promiseArray);") // Returning and array through Promise.any()
     {
     {
         // Arrange
         // Arrange
         using var engine = new Engine();
         using var engine = new Engine();
-        List<string> logMessages = new();
+        List<string> logMessages = [];
         engine.SetValue("log", logMessages.Add);
         engine.SetValue("log", logMessages.Add);
 
 
         // Act
         // Act
@@ -520,7 +520,7 @@ return Promise.all(promiseArray);") // Returning and array through Promise.any()
         engine.RunAvailableContinuations();
         engine.RunAvailableContinuations();
 
 
         // Assert
         // Assert
-        List<string> expected = new() { "start", "end", "resolved" };
+        List<string> expected = ["start", "end", "resolved"];
         Assert.Equal(expected, logMessages);
         Assert.Equal(expected, logMessages);
     }
     }
 
 
@@ -529,7 +529,7 @@ return Promise.all(promiseArray);") // Returning and array through Promise.any()
     {
     {
         // Arrange
         // Arrange
         using var engine = new Engine();
         using var engine = new Engine();
-        List<string> logMessages = new();
+        List<string> logMessages = [];
         engine.SetValue("log", logMessages.Add);
         engine.SetValue("log", logMessages.Add);
 
 
         // Act
         // Act
@@ -546,7 +546,7 @@ return Promise.all(promiseArray);") // Returning and array through Promise.any()
         engine.RunAvailableContinuations();
         engine.RunAvailableContinuations();
 
 
         // Assert
         // Assert
-        List<string> expected = new() { "start", "end", "rejected" };
+        List<string> expected = ["start", "end", "rejected"];
         Assert.Equal(expected, logMessages);
         Assert.Equal(expected, logMessages);
     }
     }
 }
 }

+ 1 - 1
Jint.Tests/Runtime/RegExpTests.cs

@@ -125,7 +125,7 @@ public class RegExpTests
 
 
         var match = engine.Evaluate("'abc'.match(/(?<$group>b)/)").AsArray();
         var match = engine.Evaluate("'abc'.match(/(?<$group>b)/)").AsArray();
         var groups = match.Get("groups").AsObject();
         var groups = match.Get("groups").AsObject();
-        Assert.Equal(new[] { "$group" }, groups.GetOwnPropertyKeys().Select(k => k.AsString()));
+        Assert.Equal(["$group"], groups.GetOwnPropertyKeys().Select(k => k.AsString()));
         Assert.Equal("b", groups["$group"]);
         Assert.Equal("b", groups["$group"]);
 
 
         var result = engine.Evaluate("'abc'.replace(/(?<$group>b)/g, '-$<$group>-')").AsString();
         var result = engine.Evaluate("'abc'.replace(/(?<$group>b)/g, '-$<$group>-')").AsString();

+ 1 - 1
Jint/Engine.Ast.cs

@@ -164,7 +164,7 @@ internal sealed class CachedHoistingScope
     {
     {
         Scope = HoistingScope.GetProgramLevelDeclarations(program);
         Scope = HoistingScope.GetProgramLevelDeclarations(program);
 
 
-        VarNames = new List<Key>();
+        VarNames = [];
         GatherVarNames(Scope, VarNames);
         GatherVarNames(Scope, VarNames);
 
 
         LexNames = DeclarationCacheBuilder.Build(Scope._lexicalDeclarations);
         LexNames = DeclarationCacheBuilder.Build(Scope._lexicalDeclarations);

+ 9 - 9
Jint/HoistingScope.cs

@@ -100,9 +100,9 @@ internal sealed class HoistingScope
         }
         }
 
 
         var exportEntries = treeWalker._exportEntries;
         var exportEntries = treeWalker._exportEntries;
-        localExportEntries = new();
-        indirectExportEntries = new();
-        starExportEntries = new();
+        localExportEntries = [];
+        indirectExportEntries = [];
+        starExportEntries = [];
 
 
         if (exportEntries != null)
         if (exportEntries != null)
         {
         {
@@ -177,11 +177,11 @@ internal sealed class HoistingScope
                     var variableDeclaration = (VariableDeclaration)childNode;
                     var variableDeclaration = (VariableDeclaration)childNode;
                     if (variableDeclaration.Kind == VariableDeclarationKind.Var)
                     if (variableDeclaration.Kind == VariableDeclarationKind.Var)
                     {
                     {
-                        _variableDeclarations ??= new List<VariableDeclaration>();
+                        _variableDeclarations ??= [];
                         _variableDeclarations.Add(variableDeclaration);
                         _variableDeclarations.Add(variableDeclaration);
                         if (_collectVarNames)
                         if (_collectVarNames)
                         {
                         {
-                            _varNames ??= new List<Key>();
+                            _varNames ??= [];
                             ref readonly var nodeList = ref variableDeclaration.Declarations;
                             ref readonly var nodeList = ref variableDeclaration.Declarations;
                             foreach (var declaration in nodeList)
                             foreach (var declaration in nodeList)
                             {
                             {
@@ -195,11 +195,11 @@ internal sealed class HoistingScope
 
 
                     if (parent is null or AstModule && variableDeclaration.Kind != VariableDeclarationKind.Var)
                     if (parent is null or AstModule && variableDeclaration.Kind != VariableDeclarationKind.Var)
                     {
                     {
-                        _lexicalDeclarations ??= new List<Declaration>();
+                        _lexicalDeclarations ??= [];
                         _lexicalDeclarations.Add(variableDeclaration);
                         _lexicalDeclarations.Add(variableDeclaration);
                         if (_collectLexicalNames)
                         if (_collectLexicalNames)
                         {
                         {
-                            _lexicalNames ??= new List<string>();
+                            _lexicalNames ??= [];
                             ref readonly var nodeList = ref variableDeclaration.Declarations;
                             ref readonly var nodeList = ref variableDeclaration.Declarations;
                             foreach (var declaration in nodeList)
                             foreach (var declaration in nodeList)
                             {
                             {
@@ -216,13 +216,13 @@ internal sealed class HoistingScope
                     // function declarations are not hoisted if they are under block or case clauses
                     // function declarations are not hoisted if they are under block or case clauses
                     if (parent is null || (node.Type != NodeType.BlockStatement && node.Type != NodeType.SwitchCase))
                     if (parent is null || (node.Type != NodeType.BlockStatement && node.Type != NodeType.SwitchCase))
                     {
                     {
-                        _functions ??= new List<FunctionDeclaration>();
+                        _functions ??= [];
                         _functions.Add((FunctionDeclaration)childNode);
                         _functions.Add((FunctionDeclaration)childNode);
                     }
                     }
                 }
                 }
                 else if (childType == NodeType.ClassDeclaration && parent is null or AstModule)
                 else if (childType == NodeType.ClassDeclaration && parent is null or AstModule)
                 {
                 {
-                    _lexicalDeclarations ??= new List<Declaration>();
+                    _lexicalDeclarations ??= [];
                     _lexicalDeclarations.Add((Declaration) childNode);
                     _lexicalDeclarations.Add((Declaration) childNode);
                 }
                 }
 
 

+ 2 - 0
Jint/Jint.csproj

@@ -10,7 +10,9 @@
     <Nullable>enable</Nullable>
     <Nullable>enable</Nullable>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
     <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
 
 
+    <EnableNETAnalyzers>true</EnableNETAnalyzers>
     <AnalysisLevel>latest-Recommended</AnalysisLevel>
     <AnalysisLevel>latest-Recommended</AnalysisLevel>
+    <EnforceCodeStyleInBuild>false</EnforceCodeStyleInBuild>
 
 
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
     <PackageReadmeFile>README.md</PackageReadmeFile>
     <PackageReadmeFile>README.md</PackageReadmeFile>

+ 1 - 1
Jint/Native/Promise/PromisePrototype.cs

@@ -77,7 +77,7 @@ internal sealed class PromisePrototype : Prototype
     // 1. Let promise be the this value.
     // 1. Let promise be the this value.
     // 2. Return ? Invoke(promise, "then", « undefined, onRejected »).
     // 2. Return ? Invoke(promise, "then", « undefined, onRejected »).
     private JsValue Catch(JsValue thisValue, JsCallArguments arguments) =>
     private JsValue Catch(JsValue thisValue, JsCallArguments arguments) =>
-        _engine.Invoke(thisValue, "then", new[] {Undefined, arguments.At(0)});
+        _engine.Invoke(thisValue, "then", [Undefined, arguments.At(0)]);
 
 
     // https://tc39.es/ecma262/#sec-promise.prototype.finally
     // https://tc39.es/ecma262/#sec-promise.prototype.finally
     private JsValue Finally(JsValue thisValue, JsCallArguments arguments)
     private JsValue Finally(JsValue thisValue, JsCallArguments arguments)

+ 4 - 4
Jint/Native/String/StringPrototype.cs

@@ -550,7 +550,7 @@ internal sealed class StringPrototype : StringInstance
             }
             }
         }
         }
 
 
-        var rx = (JsRegExp) _realm.Intrinsics.RegExp.Construct(new[] {regex});
+        var rx = (JsRegExp) _realm.Intrinsics.RegExp.Construct([regex]);
         var s = TypeConverter.ToJsString(thisObject);
         var s = TypeConverter.ToJsString(thisObject);
         return _engine.Invoke(rx, GlobalSymbolRegistry.Search, [s]);
         return _engine.Invoke(rx, GlobalSymbolRegistry.Search, [s]);
     }
     }
@@ -719,7 +719,7 @@ internal sealed class StringPrototype : StringInstance
             }
             }
         }
         }
 
 
-        var rx = (JsRegExp) _realm.Intrinsics.RegExp.Construct(new[] {regex});
+        var rx = (JsRegExp) _realm.Intrinsics.RegExp.Construct([regex]);
 
 
         var s = TypeConverter.ToJsString(thisObject);
         var s = TypeConverter.ToJsString(thisObject);
         return _engine.Invoke(rx, GlobalSymbolRegistry.Match, [s]);
         return _engine.Invoke(rx, GlobalSymbolRegistry.Match, [s]);
@@ -741,7 +741,7 @@ internal sealed class StringPrototype : StringInstance
                     ExceptionHelper.ThrowTypeError(_realm);
                     ExceptionHelper.ThrowTypeError(_realm);
                 }
                 }
             }
             }
-            var matcher = GetMethod(_realm, (ObjectInstance) regex, GlobalSymbolRegistry.MatchAll);
+            var matcher = GetMethod(_realm, regex, GlobalSymbolRegistry.MatchAll);
             if (matcher != null)
             if (matcher != null)
             {
             {
                 return matcher.Call(regex, thisObject);
                 return matcher.Call(regex, thisObject);
@@ -749,7 +749,7 @@ internal sealed class StringPrototype : StringInstance
         }
         }
 
 
         var s = TypeConverter.ToJsString(thisObject);
         var s = TypeConverter.ToJsString(thisObject);
-        var rx = (JsRegExp) _realm.Intrinsics.RegExp.Construct(new[] { regex, "g" });
+        var rx = (JsRegExp) _realm.Intrinsics.RegExp.Construct([regex, "g"]);
 
 
         return _engine.Invoke(rx, GlobalSymbolRegistry.MatchAll, [s]);
         return _engine.Invoke(rx, GlobalSymbolRegistry.MatchAll, [s]);
     }
     }

+ 1 - 1
Jint/Runtime/Interop/InteropHelper.cs

@@ -323,7 +323,7 @@ internal sealed class InteropHelper
                     continue;
                     continue;
                 }
                 }
 
 
-                matchingByParameterCount ??= new List<MethodMatch>();
+                matchingByParameterCount ??= [];
                 matchingByParameterCount.Add(new MethodMatch(method, arguments, score));
                 matchingByParameterCount.Add(new MethodMatch(method, arguments, score));
             }
             }
         }
         }