Пример #1
0
 public Lambda(MethodBase method, InvocationStyle invocationStyle)
     : base(NodeType.Lambda)
 {
     Method          = method.AssertNotNull();
     InvocationStyle = invocationStyle;
     Sig             = new Sig(this);
 }
Пример #2
0
        public MethodBody(MethodBase method, bool loadDebugInfo)
        {
            method.AssertNotNull();

            if (method is MethodBuilder)
            {
                Initialize(method.AssertCast <MethodBuilder>(), loadDebugInfo);
            }
            else if (method is ConstructorBuilder)
            {
                Initialize(method.AssertCast <ConstructorBuilder>(), loadDebugInfo);
            }
            else if (method is DynamicMethod)
            {
                // todo. implement reading dynamic IL
                throw AssertionHelper.Fail();
            }
            else if (method is MethodInfo)
            {
                Initialize(method.AssertCast <MethodInfo>(), loadDebugInfo);
            }
            else if (method is ConstructorInfo)
            {
                Initialize(method.AssertCast <ConstructorInfo>(), loadDebugInfo);
            }
            else
            {
                throw AssertionHelper.Fail();
            }
        }
Пример #3
0
 public Lambda(MethodBase method)
     : this(method.AssertNotNull(), method.IsConstructor() ? InvocationStyle.Ctor : InvocationStyle.NonVirtual)
 {
 }