private Block VisitAtomic(AtomicBlock atomic)
{
Block newAtomic = null;
if (atomic == null) return null;
if (((ZMethod)this.currentMethod).Atomic)
{
this.HandleError(atomic, Error.AtomicBlockInAtomicMethod);
return null;
}
if (this.insideAtomic)
{
this.HandleError(atomic, Error.AtomicBlockNested);
return null;
}
this.insideAtomic = true;
newAtomic = this.VisitBlock((Block)atomic);
this.insideAtomic = false;
return newAtomic;
}