本文整理汇总了C#中Executor.TypedPeek方法的典型用法代码示例。如果您正苦于以下问题:C# Executor.TypedPeek方法的具体用法?C# Executor.TypedPeek怎么用?C# Executor.TypedPeek使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Executor
的用法示例。
在下文中一共展示了Executor.TypedPeek方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Eval
public override void Eval(Executor exec)
{
QuotedFunction f = exec.TypedPeek<QuotedFunction>();
bool bVerbose = Config.gbVerboseInference;
bool bInfer = Config.gbTypeChecking;
Config.gbVerboseInference = true;
Config.gbTypeChecking = true;
try
{
CatFxnType ft = CatTypeReconstructor.Infer(f.GetSubFxns());
if (ft == null)
Output.WriteLine("type could not be inferred");
}
finally
{
Config.gbVerboseInference = bVerbose;
Config.gbTypeChecking = bInfer;
}
}
示例2: Eval
public override void Eval(Executor exec)
{
QuotedFunction f = exec.TypedPeek<QuotedFunction>();
int n = f.GetSubFxns().Count;
Function g = f.GetSubFxns()[n - 1];
if (((g is PushFunction) || (g is QuotedFunction) || (g is QuotedValue)) || (g is PushValueBase))
{
f.GetSubFxns().RemoveAt(n - 1);
g.Eval(exec);
}
else if (g is PushStack)
{
Executor e2 = (g as PushStack).GetStack();
exec.Push(e2.Pop());
}
else
{
exec.Pop();
Executor e2 = new Executor();
f.Eval(e2);
Object o = e2.Pop();
Function h = new PushStack(e2);
exec.Push(h);
exec.Push(o);
}
}