示例#1
0
        private static Boolean ExitCurrentContext(
            PainContext PainContext)
        {
            PainState state = PainContext.CurrentState;

            state.CurrentLineID = Guid.Empty;

            Object result = null;

            if (state != null &&
                state.ContextType == PainContextType.CLASS)
            {
                result = state.Object;
            }

            // jeśli został tylko ostatni główny context
            if (PainContext.Stack.Count == 1)
            {
                PainContext.Result     = result;
                PainContext.IsFinished = true;
            }
            else
            {
                PainContext.PopContext();
                if (PainContext.CurrentExpressionState != null)
                {
                    PainContext.CurrentExpressionState.PushValue(result);
                }
            }

            return(true);
        }
示例#2
0
        //////////////////////////////////////////////

        private static Boolean ExitCurrentContext(
            PainContext PainContext,
            Object Result)
        {
            PainState context = PainContext.CurrentState;

            context.CurrentLineID = Guid.Empty;

            // jeśli został tylko ostatni główny context
            if (PainContext.Stack.Count == 1)
            {
                PainContext.Result     = Result;
                PainContext.IsFinished = true;
            }
            else
            {
                PainContext.PopContext();
                if (PainContext.CurrentExpressionState != null)
                {
                    PainContext.CurrentExpressionState.PushValue(Result);
                }
            }

            return(true);
        }