Преглед изворни кода

Move CreateDeclarativeEnvironment and FindConstraint to Engine.Advanced (#1717)

* rename CreateNewDeclarativeEnvironment to CreateDeclarativeEnvironment
Marko Lahma пре 1 година
родитељ
комит
54990a75bf

+ 0 - 29
Jint.Tests.PublicInterface/FunctionTests.cs

@@ -1,29 +0,0 @@
-using Esprima.Ast;
-using Jint.Native.Function;
-
-namespace Jint.Tests.PublicInterface;
-
-public class FunctionTests
-{
-    [Fact]
-    public void CanConstructorCustomScriptFunction()
-    {
-        var engine = new Engine();
-        var functionExp = new FunctionExpression(
-            new Identifier("f"),
-            NodeList.Create(Array.Empty<Node>()),
-            new BlockStatement(NodeList.Create<Statement>(Array.Empty<Statement>())),
-            generator: false,
-            strict: true,
-            async: false);
-
-        var functionObject = new ScriptFunctionInstance(
-            engine,
-            functionExp,
-            engine.CreateNewDeclarativeEnvironment(),
-            strict: true
-        );
-
-        Assert.NotNull(functionObject);
-    }
-}

+ 2 - 2
Jint.Tests.PublicInterface/RavenApiUsageTests.cs

@@ -34,7 +34,7 @@ public class RavenApiUsageTests
         var functionObject = new ScriptFunctionInstance(
         var functionObject = new ScriptFunctionInstance(
             engine,
             engine,
             functionExp,
             functionExp,
-            engine.CreateNewDeclarativeEnvironment(),
+            engine.Advanced.CreateDeclarativeEnvironment(),
             strict: false
             strict: false
         );
         );
 
 
@@ -46,7 +46,7 @@ public class RavenApiUsageTests
     {
     {
         var engine = new Engine(options => options.MaxStatements(123));
         var engine = new Engine(options => options.MaxStatements(123));
 
 
-        var constraint = engine.FindConstraint<MaxStatementsConstraint>();
+        var constraint = engine.Advanced.FindConstraint<MaxStatementsConstraint>();
         Assert.NotNull(constraint);
         Assert.NotNull(constraint);
 
 
         var oldMaxStatements = constraint.MaxStatements;
         var oldMaxStatements = constraint.MaxStatements;

+ 27 - 0
Jint/Engine.Advanced.cs

@@ -1,3 +1,6 @@
+using Jint.Runtime.Environments;
+using Environment = Jint.Runtime.Environments.Environment;
+
 namespace Jint;
 namespace Jint;
 
 
 public partial class Engine
 public partial class Engine
@@ -38,4 +41,28 @@ public class AdvancedOperations
     {
     {
         _engine.RunAvailableContinuations();
         _engine.RunAvailableContinuations();
     }
     }
+
+    /// <summary>
+    /// Creates a new declarative environment that has current lexical environment as outer scope.
+    /// </summary>
+    public Environment CreateDeclarativeEnvironment()
+    {
+        return JintEnvironment.NewDeclarativeEnvironment(_engine, _engine.ExecutionContext.LexicalEnvironment);
+    }
+
+    /// <summary>
+    /// Return the first constraint that matches the predicate.
+    /// </summary>
+    public T? FindConstraint<T>() where T : Constraint
+    {
+        foreach (var constraint in _engine._constraints)
+        {
+            if (constraint.GetType() == typeof(T))
+            {
+                return (T) constraint;
+            }
+        }
+
+        return null;
+    }
 }
 }

+ 0 - 34
Jint/Engine.Helpers.cs

@@ -1,34 +0,0 @@
-using Jint.Runtime.Environments;
-using Environment = Jint.Runtime.Environments.Environment;
-
-namespace Jint;
-
-/// <summary>
-/// Contains helpers and compatibility shims.
-/// </summary>
-public partial class Engine
-{
-    /// <summary>
-    /// Creates a new declarative environment that has current lexical environment as outer scope.
-    /// </summary>
-    public Environment CreateNewDeclarativeEnvironment()
-    {
-        return JintEnvironment.NewDeclarativeEnvironment(this, ExecutionContext.LexicalEnvironment);
-    }
-
-    /// <summary>
-    /// Return the first constraint that matches the predicate.
-    /// </summary>
-    public T? FindConstraint<T>() where T : Constraint
-    {
-        foreach (var constraint in _constraints)
-        {
-            if (constraint.GetType() == typeof(T))
-            {
-                return (T) constraint;
-            }
-        }
-
-        return null;
-    }
-}