clojure.lang.CljCompiler.Ast.ObjExpr.EmitLoadNsInitForDeftype C# (CSharp) Method

EmitLoadNsInitForDeftype() private method

private EmitLoadNsInitForDeftype ( CljILGen ilg ) : void
ilg CljILGen
return void
        private void EmitLoadNsInitForDeftype(CljILGen ilg)
        {
            string nsname = ((Symbol)RT.second(Src)).Namespace;
            if ( !nsname.Equals("clojure.core"))
            {
                ilg.EmitString("clojure.core");
                ilg.EmitString("require");
                ilg.EmitCall(Compiler.Method_RT_var2);
                ilg.EmitCall(Compiler.Method_Var_getRawRoot);
                ilg.Emit(OpCodes.Castclass, typeof(IFn));
                ilg.EmitNull();
                ilg.EmitString(nsname);
                ilg.EmitCall(Compiler.Method_Symbol_intern2);
                ilg.EmitCall(Compiler.Methods_IFn_invoke[1]);
                ilg.Emit(OpCodes.Pop);
            }
        }