Ejemplo n.º 1
0
 public override Statement VisitResourceUse(ResourceUse resourceUse){
   if (resourceUse == null) return null;
   Scope savedScope = this.scope;
   Scope scope = this.scope = resourceUse.ScopeForTemporaryVariable = new BlockScope(savedScope, resourceUse.Body);
   this.AddToAllScopes(this.scope);
   Declarer declarer = new Declarer(this.ErrorHandler);
   declarer.VisitResourceUse(resourceUse, scope);
   resourceUse.ResourceAcquisition = (Statement)this.Visit(resourceUse.ResourceAcquisition);
   resourceUse.Body = this.VisitBlock(resourceUse.Body);
   this.scope = savedScope;
   return resourceUse;
 }