예제 #1
0
        //-----------------------------------------------------------------------------------------------------------------------------------------------------

        public Operand <TResult> Proceed <TResult>()
        {
            ValidateNotAnonymousMethod();

            if (!m_Mode.HasFlag(MethodWriterModes.Decorator))
            {
                throw new InvalidOperationException("Proceed is only allowed in the Decorator mode.");
            }

            var returnValueLocal = (m_OwnerMethod.Signature.IsVoid ? null : m_OwnerMethod.AddLocal <TResult>());

            AddStatement(new ProceedStatement(m_OwnerMethod, m_InnerWriters, returnValueLocal));

            return(returnValueLocal);
        }