Skip to content

Commit e6f54b5

Browse files
authored
Introduce Engine.Evaluate (#899)
* Introduce Engine.Evaluate * update README.md
1 parent cdb2aa5 commit e6f54b5

22 files changed

+273
-288
lines changed

Jint.Benchmark/EngineConstructionBenchmark.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public EngineConstructionBenchmark()
1919
public double BuildEngine()
2020
{
2121
var engine = new Engine();
22-
return engine.Execute(_program).GetCompletionValue().AsNumber();
22+
return engine.Evaluate(_program).AsNumber();
2323
}
2424
}
2525
}

Jint.Repl/Program.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ private static void Main(string[] args)
1919
engine
2020
.SetValue("print", new Action<object>(Console.WriteLine))
2121
.SetValue("load", new Func<string, object>(
22-
path => engine.Execute(File.ReadAllText(path)).GetCompletionValue())
22+
path => engine.Evaluate(File.ReadAllText(path)))
2323
);
2424

2525
var filename = args.Length > 0 ? args[0] : "";
@@ -31,7 +31,7 @@ private static void Main(string[] args)
3131
}
3232

3333
var script = File.ReadAllText(filename);
34-
var result = engine.GetValue(engine.Execute(script).GetCompletionValue());
34+
engine.Evaluate(script);
3535
return;
3636
}
3737

@@ -64,7 +64,7 @@ private static void Main(string[] args)
6464

6565
try
6666
{
67-
var result = engine.GetValue(engine.Execute(input, parserOptions).GetCompletionValue());
67+
var result = engine.Evaluate(input, parserOptions);
6868
if (!result.IsNull() && !result.IsUndefined())
6969
{
7070
var str = TypeConverter.ToString(engine.Json.Stringify(engine.Json, Arguments.From(result, Undefined.Instance, " ")));

Jint.Tests.Test262/Test262Test.cs

+1-3
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,7 @@ protected void RunTestCode(string code, bool strict)
113113
var parser = new JavaScriptParser(args.At(0).AsString(), options);
114114
var script = parser.ParseScript(strict);
115115

116-
var value = engine.Execute(script).GetCompletionValue();
117-
118-
return value;
116+
return engine.Evaluate(script);
119117
}), true, true, true));
120118
engine.SetValue("$262", o);
121119

Jint.Tests/Runtime/ArrayTests.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -25,31 +25,31 @@ private void RunTest(string source)
2525
[Fact]
2626
public void ArrayPrototypeToStringWithArray()
2727
{
28-
var result = _engine.Execute("Array.prototype.toString.call([1,2,3]);").GetCompletionValue().AsString();
28+
var result = _engine.Evaluate("Array.prototype.toString.call([1,2,3]);").AsString();
2929

3030
Assert.Equal("1,2,3", result);
3131
}
3232

3333
[Fact]
3434
public void ArrayPrototypeToStringWithNumber()
3535
{
36-
var result = _engine.Execute("Array.prototype.toString.call(1);").GetCompletionValue().AsString();
36+
var result = _engine.Evaluate("Array.prototype.toString.call(1);").AsString();
3737

3838
Assert.Equal("[object Number]", result);
3939
}
4040

4141
[Fact]
4242
public void ArrayPrototypeToStringWithObject()
4343
{
44-
var result = _engine.Execute("Array.prototype.toString.call({});").GetCompletionValue().AsString();
44+
var result = _engine.Evaluate("Array.prototype.toString.call({});").AsString();
4545

4646
Assert.Equal("[object Object]", result);
4747
}
4848

4949
[Fact]
5050
public void EmptyStringKey()
5151
{
52-
var result = _engine.Execute("var x=[];x[\"\"]=8;x[\"\"];").GetCompletionValue().AsNumber();
52+
var result = _engine.Evaluate("var x=[];x[\"\"]=8;x[\"\"];").AsNumber();
5353

5454
Assert.Equal(8, result);
5555
}
@@ -126,8 +126,8 @@ class MyArr extends Array {
126126
}";
127127

128128
_engine.Execute(script);
129-
_engine.Execute("const a = new MyArr(1,2);");
130-
Assert.True(_engine.Execute("a instanceof MyArr").GetCompletionValue().AsBoolean());
129+
_engine.Evaluate("const a = new MyArr(1,2);");
130+
Assert.True(_engine.Evaluate("a instanceof MyArr").AsBoolean());
131131
}
132132
}
133133
}

Jint.Tests/Runtime/DateTests.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,49 +18,49 @@ public DateTests()
1818
[Fact]
1919
public void NaNToString()
2020
{
21-
var value = _engine.Execute("new Date(NaN).toString();").GetCompletionValue().AsString();
21+
var value = _engine.Evaluate("new Date(NaN).toString();").AsString();
2222
Assert.Equal("Invalid Date", value);
2323
}
2424

2525
[Fact]
2626
public void NaNToDateString()
2727
{
28-
var value = _engine.Execute("new Date(NaN).toDateString();").GetCompletionValue().AsString();
28+
var value = _engine.Evaluate("new Date(NaN).toDateString();").AsString();
2929
Assert.Equal("Invalid Date", value);
3030
}
3131

3232
[Fact]
3333
public void NaNToTimeString()
3434
{
35-
var value = _engine.Execute("new Date(NaN).toTimeString();").GetCompletionValue().AsString();
35+
var value = _engine.Evaluate("new Date(NaN).toTimeString();").AsString();
3636
Assert.Equal("Invalid Date", value);
3737
}
3838

3939
[Fact]
4040
public void NaNToLocaleString()
4141
{
42-
var value = _engine.Execute("new Date(NaN).toLocaleString();").GetCompletionValue().AsString();
42+
var value = _engine.Evaluate("new Date(NaN).toLocaleString();").AsString();
4343
Assert.Equal("Invalid Date", value);
4444
}
4545

4646
[Fact]
4747
public void NaNToLocaleDateString()
4848
{
49-
var value = _engine.Execute("new Date(NaN).toLocaleDateString();").GetCompletionValue().AsString();
49+
var value = _engine.Evaluate("new Date(NaN).toLocaleDateString();").AsString();
5050
Assert.Equal("Invalid Date", value);
5151
}
5252

5353
[Fact]
5454
public void NaNToLocaleTimeString()
5555
{
56-
var value = _engine.Execute("new Date(NaN).toLocaleTimeString();").GetCompletionValue().AsString();
56+
var value = _engine.Evaluate("new Date(NaN).toLocaleTimeString();").AsString();
5757
Assert.Equal("Invalid Date", value);
5858
}
5959

6060
[Fact]
6161
public void ToJsonFromNaNObject()
6262
{
63-
var result = _engine.Execute("JSON.stringify({ date: new Date(NaN) });").GetCompletionValue();
63+
var result = _engine.Evaluate("JSON.stringify({ date: new Date(NaN) });");
6464
Assert.Equal("{\"date\":null}", result.ToString());
6565
}
6666
}

0 commit comments

Comments
 (0)