clojure.lang.CljCompiler.Ast.FnExpr.EmitMethods C# (CSharp) Метод

EmitMethods() защищенный Метод

protected EmitMethods ( TypeBuilder tb ) : void
tb System.Reflection.Emit.TypeBuilder
Результат void
        protected override void EmitMethods(TypeBuilder tb)
        {
            for (ISeq s = RT.seq(Methods); s != null; s = s.next())
            {
                FnMethod method = (FnMethod)s.first();
                method.Emit(this, tb);
            }

            if (IsVariadic)
                EmitGetRequiredArityMethod(TypeBuilder, _variadicMethod.RequiredArity);

            List<int> supportedArities = new List<int>();
            for (ISeq s = RT.seq(Methods); s != null; s = s.next())
            {
                FnMethod method = (FnMethod)s.first();
                supportedArities.Add(method.NumParams);
            }

            EmitHasArityMethod(TypeBuilder, supportedArities, IsVariadic, IsVariadic ? _variadicMethod.RequiredArity : 0);
        }