本文整理匯總了C#中Mono.CSharp.ResumableStatement類的典型用法代碼示例。如果您正苦於以下問題:C# ResumableStatement類的具體用法?C# ResumableStatement怎麽用?C# ResumableStatement使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
ResumableStatement類屬於Mono.CSharp命名空間,在下文中一共展示了ResumableStatement類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: AddResumePoint
public int AddResumePoint(ResumableStatement stmt)
{
if (resume_points == null)
resume_points = new List<ResumableStatement> ();
resume_points.Add (stmt);
return resume_points.Count;
}
示例2: CheckRethrow
/*
public override bool CheckRethrow (Location loc)
{
return CurrentUsageVector.Next != null || Parent.CheckRethrow (loc);
}
*/
public override bool AddResumePoint (ResumableStatement stmt, out int pc)
{
pc = async_init.AddResumePoint (stmt);
return true;
}
示例3: AddResumePoint
public override bool AddResumePoint (ResumableStatement stmt, out int pc)
{
int errors = Report.Errors;
Parent.AddResumePoint (this.stmt, out pc);
if (errors == Report.Errors) {
if (finally_vector == null)
this.stmt.AddResumePoint (stmt, pc);
else {
if (stmt is AwaitStatement) {
Report.Error (1984, stmt.loc, "The `await' operator cannot be used in the body of a finally clause");
} else {
Report.Error (1625, stmt.loc, "Cannot yield in the body of a finally clause");
}
}
}
return true;
}
示例4: AddResumePoint
public override bool AddResumePoint (ResumableStatement stmt, Location loc, out int pc)
{
int errors = Report.Errors;
Parent.AddResumePoint (this.stmt, loc, out pc);
if (errors == Report.Errors) {
if (finally_vector == null)
this.stmt.AddResumePoint (stmt, pc);
else
Report.Error (1625, loc, "Cannot yield in the body of a finally clause");
}
return true;
}
示例5: AddResumePoint
public void AddResumePoint (ResumableStatement stmt, int pc)
{
if (resume_points == null) {
resume_points = new List<ResumableStatement> ();
first_resume_pc = pc;
}
if (pc != first_resume_pc + resume_points.Count)
throw new InternalErrorException ("missed an intervening AddResumePoint?");
resume_points.Add (stmt);
}