本文整理汇总了C#中System.Reflection.Emit.ILGenerator.EmitCallV方法的典型用法代码示例。如果您正苦于以下问题:C# ILGenerator.EmitCallV方法的具体用法?C# ILGenerator.EmitCallV怎么用?C# ILGenerator.EmitCallV使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.Emit.ILGenerator
的用法示例。
在下文中一共展示了ILGenerator.EmitCallV方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenCode
internal override void GenCode(ILGenerator gen)
{
gen.EmitCallV( CompileContext.mi_JSBool_True);
}
示例2: GenCode
internal override void GenCode(ILGenerator gen)
{
gen.EmitCallV( CompileContext.mi_JSUndefined_Instance);
}
示例3: GenerateFunctionBody
protected void GenerateFunctionBody(StatementNode r, ILGenerator gen)
{
LocalFunctionData oldData = this.fncData;
try
{
this.fncData = new LocalFunctionData(gen, gen.DefineLabel(), gen.DeclareLocal(typeof(JSValue)));
r.GenCode(this);
gen.EmitCallV(mi_JSUndefined_Instance);
gen.Emit(OpCodes.Stloc, this.fncData.return_local);
gen.MarkLabel(this.fncData.return_label);
gen.Emit(OpCodes.Ldloc, this.fncData.return_local);
gen.Emit(OpCodes.Ret);
}
finally
{
this.fncData = oldData;
}
}
示例4: GenCode
internal static void GenCode(ILGenerator gen, string p)
{
Match m = TokenConverter.Match(p);
string pattern = m.Groups["pattern"].Value.Replace(@"\/", "/");
LocalBuilder lfnc = gen.DeclareLocal(typeof(JSValue));
gen.Emit(OpCodes.Ldarg_0);
gen.Emit(OpCodes.Ldstr, "RegExp");
gen.EmitCallV( CompileContext.mi_GetBindingValue);
gen.Emit(OpCodes.Stloc, lfnc.LocalIndex);
gen.Emit(OpCodes.Ldloc, lfnc.LocalIndex);
gen.EmitCallV( CompileContext.fnc_Utilities_JSFunctionCast);
gen.Emit(OpCodes.Ldarg_0);
gen.Emit(OpCodes.Ldloc, lfnc.LocalIndex);
gen.Emit(OpCodes.Ldc_I4_2);
gen.Emit(OpCodes.Newarr, typeof(JSValue));
gen.Emit(OpCodes.Dup);
gen.Emit(OpCodes.Ldc_I4_0);
gen.Emit(OpCodes.Ldstr, pattern);
gen.Emit(OpCodes.Newobj, CompileContext.JSString_ctor);
gen.Emit(OpCodes.Stelem_Ref);
gen.Emit(OpCodes.Dup);
gen.Emit(OpCodes.Ldc_I4_1);
gen.Emit(OpCodes.Ldstr, ProcessFlags(m.Groups["flags"].Value));
gen.Emit(OpCodes.Newobj, CompileContext.JSString_ctor);
gen.Emit(OpCodes.Stelem_Ref);
gen.Emit(OpCodes.Newobj, CompileContext.JSArgs_ctor);
gen.EmitCallV( CompileContext.mi_JSFunctionBase_Construct);
}