private void CheckReturnNotDelay(InitializedVariables iv, Variable var, Node context) {
   if (var == null)
     return;
   if (!iv.CanAssumeNotDelayed(var) && !this.mpc.currentMethod.IsPropertyGetter) {
     if (!mpc.reportedErrors.Contains(var) && var.Name != null && var.Name.Name != "") {
       Error errorCode = Error.ReturnOfDelayedValue;
       Node offendingNode = (var.SourceContext.Document == null) ? context : var;
       mpc.typeSystem.HandleError(offendingNode, errorCode, var.Name.Name);
       mpc.reportedErrors.Add(var, null);
     }
   }
   iv.SetValueNonDelayed(var);
 }
 private void CheckNonDelay(InitializedVariables iv, Variable var, Node context, Error errorCode) {
   if (var == null)
     return;
   if (!iv.CanAssumeNotDelayed(var)) {
     if (!mpc.reportedErrors.Contains(var) && var.Name != null && var.Name.Name != "") {
       // Ugly hack to get delayed analysis past non-conformant use of get_FrameGuard.
       if (!(mpc.currentMethod.Name != null && mpc.currentMethod.Name.Name.StartsWith("get_SpecSharp::FrameGuard"))) {
         Node offendingNode = (var.SourceContext.Document == null) ? context : var;
         mpc.typeSystem.HandleError(offendingNode, errorCode, var.Name.Name);
         mpc.reportedErrors.Add(var, null);
       }
     }
   }
   iv.SetValueNonDelayed(var);
 }