Пример #1
0
 public override IBELObject Expose(ExecutionContext ctx)
 {
     try
     {
         ctx.PushLocation(Location);
         return new BELString(Value);
     }
     finally
     {
         ctx.PopLocation();
     }
 }
Пример #2
0
        public override IBELObject Expose(ExecutionContext ctx)
        {
            ArrayList parameters = null;

            if (Parameters != null)
            {
                parameters = new ArrayList();
                foreach (BlockParameterPTN p in Parameters.Parameters)
                {
                    parameters.Add(new BlockParameter(p.Type, p.Identifier));
                }
            }
            try
            {
                ctx.PushLocation(ParseTree.Location);
                return new Block(ParseTree, parameters, ctx.CurrentScope);
            }
            finally
            {
                ctx.PopLocation();
            }
        }
Пример #3
0
        public override IBELObject Expose(ExecutionContext ctx)
        {
            IBELObject answer = null;
            ArrayList args = new ArrayList();
            foreach (object x in AllArgs)
                args.Add(x);
            try
            {
                ctx.PushLocation(Location);
                answer = ctx.FindAndInvoke(FullMethodName, args);
                if (answer == null)
                    throw NoSuchMemberException.ForMember(Location, FullMethodName);
            }
            finally
            {
                ctx.PopLocation();
            }

            return answer;
        }