Search in sources :

Example 96 with Realm

use of com.github.anba.es6draft.runtime.Realm in project es6draft by anba.

the class ZoneConstructor method CallInZone.

/**
 * CallInZone ( zone, callback, thisArg, argumentsList )
 *
 * @param cx
 *            the execution context
 * @param zone
 *            the zone object
 * @param callback
 *            the callback function
 * @param thisArg
 *            the function this-value
 * @param argumentsList
 *            the function arguments
 * @return the function return value
 */
public static Object CallInZone(ExecutionContext cx, ZoneObject zone, Callable callback, Object thisArg, Object... argumentsList) {
    /* step 1 */
    Realm zoneRealm = zone.getRealm();
    /* step 2 */
    ZoneObject beforeZone = zoneRealm.getCurrentZone();
    /* steps 3-6 */
    try {
        /* step 3 */
        zoneRealm.setCurrentZone(zone);
        /* steps 4, 6 */
        return Call(cx, callback, thisArg, argumentsList);
    } finally {
        /* step 5 */
        zoneRealm.setCurrentZone(beforeZone);
    }
}
Also used : Realm(com.github.anba.es6draft.runtime.Realm)

Aggregations

Realm (com.github.anba.es6draft.runtime.Realm)96 Test (org.junit.Test)39 ScriptObject (com.github.anba.es6draft.runtime.types.ScriptObject)17 Script (com.github.anba.es6draft.Script)16 ExecutionContext (com.github.anba.es6draft.runtime.ExecutionContext)16 Source (com.github.anba.es6draft.runtime.internal.Source)15 ParserException (com.github.anba.es6draft.parser.ParserException)9 Function (com.github.anba.es6draft.runtime.internal.Properties.Function)9 ModuleRecord (com.github.anba.es6draft.runtime.modules.ModuleRecord)8 ModuleLoader (com.github.anba.es6draft.runtime.modules.ModuleLoader)7 IOException (java.io.IOException)7 CompilationException (com.github.anba.es6draft.compiler.CompilationException)6 ScriptException (com.github.anba.es6draft.runtime.internal.ScriptException)6 ToSource (com.github.anba.es6draft.repl.SourceBuilder.ToSource)5 World (com.github.anba.es6draft.runtime.World)5 RuntimeContext (com.github.anba.es6draft.runtime.internal.RuntimeContext)5 ModuleSource (com.github.anba.es6draft.runtime.modules.ModuleSource)5 SourceIdentifier (com.github.anba.es6draft.runtime.modules.SourceIdentifier)5 GlobalObject (com.github.anba.es6draft.runtime.objects.GlobalObject)5 ExecutionContext.newEvalExecutionContext (com.github.anba.es6draft.runtime.ExecutionContext.newEvalExecutionContext)4