Emit() публичный Метод

public Emit ( ObjExpr fn, TypeBuilder tb ) : void
fn ObjExpr
tb System.Reflection.Emit.TypeBuilder
Результат void
Пример #1
0
        protected override void EmitMethods(TypeBuilder tb)
        {
            HashSet <MethodInfo> implemented = new HashSet <MethodInfo>();

            for (ISeq s = RT.seq(Methods); s != null; s = s.next())
            {
                NewInstanceMethod method = (NewInstanceMethod)s.first();
                method.Emit(this, tb);
                implemented.UnionWith(method.MethodInfos);
            }

            foreach (List <MethodInfo> ms in _methodMap.Values)
            {
                foreach (MethodInfo mi in ms)
                {
                    if (NeedsDummy(mi, implemented))
                    {
                        EmitDummyMethod(tb, mi, true);
                    }
                }
            }

            EmitHasArityMethod(TypeBuilder, null, false, 0);
        }