コード例 #1
0
ファイル: Methods.cs プロジェクト: smarr/kernan
        /// <summary>
        /// Respond to a request of this method.
        /// </summary>
        /// <param name="ctx">Current interpreter</param>
        /// <param name="receiver">Self-binding of this request</param>
        /// <param name="req">Method request being responded to</param>
        public virtual GraceObject Respond(EvaluationContext ctx,
                                           GraceObject receiver,
                                           MethodRequest req)
        {
            checkAccessibility(ctx, req);
            if (lexicalScope != null)
            {
                ctx.Remember(lexicalScope);
            }
            var ret = code.Respond(ctx, receiver, req);

            if (lexicalScope != null)
            {
                ctx.Forget(lexicalScope);
            }
            return(ret);
        }