public ClrAccessDescriptor(
     DeclarativeEnvironmentRecord env,
     Engine engine,
     string name)
     : base(value: null, PropertyFlag.Configurable)
 {
     _env    = env;
     _engine = engine;
     _name   = new EnvironmentRecord.BindingName(name);
 }
Пример #2
0
        public ArgumentsInstance Rent(
            FunctionInstance func,
            Key[] formals,
            JsValue[] argumentsList,
            DeclarativeEnvironmentRecord env,
            bool hasRestParameter)
        {
            var obj = _pool.Allocate();

            obj.Prepare(func, formals, argumentsList, env, hasRestParameter);
            return(obj);
        }
Пример #3
0
        internal void Prepare(
            FunctionInstance func,
            Key[] names,
            JsValue[] args,
            DeclarativeEnvironmentRecord env,
            bool hasRestParameter)
        {
            _func             = func;
            _names            = names;
            _args             = args;
            _env              = env;
            _hasRestParameter = hasRestParameter;
            _canReturnToPool  = true;

            ClearProperties();
        }
Пример #4
0
        static void Execute(Engine engine, string source)
        {
            var envRec = new DeclarativeEnvironmentRecord(engine);

#if JINT3
            var lexEnv = new LexicalEnvironment(engine, envRec, engine.GlobalEnvironment);
#else
            var lexEnv = new LexicalEnvironment(envRec, engine.GlobalEnvironment);
#endif

            engine.EnterExecutionContext(lexEnv, lexEnv, JsValue.Null);
            try
            {
                Console.WriteLine("// " + source);
                engine.Execute(source);
                Console.WriteLine();
            }
            finally
            {
                engine.LeaveExecutionContext();
            }
        }