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

EmitVar() private method

private EmitVar ( CljILGen ilg, Var var ) : void
ilg CljILGen
var Var
return void
        internal void EmitVar(CljILGen ilg, Var var)
        {
            int i = (int)Vars.valAt(var);
            EmitConstant(ilg, i, var);
        }

Usage Example

示例#1
0
 public void Emit(RHC rhc, ObjExpr objx, CljILGen ilg)
 {
     objx.EmitVar(ilg, _var);
     if (_isDynamic)
     {
         ilg.Emit(OpCodes.Call, Compiler.Method_Var_setDynamic0);
     }
     if (_meta != null)
     {
         if (_initProvided || true) //IncludesExplicitMetadata((MapExpr)_meta))
         {
             ilg.Emit(OpCodes.Dup);
             _meta.Emit(RHC.Expression, objx, ilg);
             ilg.Emit(OpCodes.Castclass, typeof(IPersistentMap));
             ilg.Emit(OpCodes.Call, Compiler.Method_Var_setMeta);
         }
     }
     if (_initProvided)
     {
         ilg.Emit(OpCodes.Dup);
         if (_init is FnExpr)
         {
             ((FnExpr)_init).EmitForDefn(objx, ilg);
         }
         else
         {
             _init.Emit(RHC.Expression, objx, ilg);
         }
         ilg.Emit(OpCodes.Call, Compiler.Method_Var_bindRoot);
     }
     if (rhc == RHC.Statement)
     {
         ilg.Emit(OpCodes.Pop);
     }
 }
All Usage Examples Of clojure.lang.CljCompiler.Ast.ObjExpr::EmitVar