Exemple #1
0
 /// <summary>
 /// Visits the specified alias for type.
 /// </summary>
 /// <param name="aliasForType">Type of the alias for.</param>
 public virtual void Visit(IAliasForType aliasForType)
   //^ ensures this.path.Count == old(this.path.Count);
 {
   if (this.stopTraversal) return;
   //^ int oldCount = this.path.Count;
   this.path.Push(aliasForType);
   this.Visit(aliasForType.AliasedType);
   this.Visit(aliasForType.Attributes);
   //^ assume this.path.Count == oldCount+1; //True because all of the virtual methods of this class promise not decrease this.path.Count.
   this.path.Pop();
   aliasForType.Dispatch(this);
 }
Exemple #2
0
 /// <summary>
 /// Traverses the alias for type.
 /// </summary>
 public void Traverse(IAliasForType aliasForType)
 {
     aliasForType.Dispatch(this.dispatchingVisitor);
 }
Exemple #3
0
 /// <summary>
 /// Visits the specified alias for type.
 /// </summary>
 public virtual void Visit(IAliasForType aliasForType)
 {
     //IAliasForType is a base interface that should never be implemented directly.
       //Get aliasForType to call the most type specific visitor.
       aliasForType.Dispatch(this);
 }
Exemple #4
0
 /// <summary>
 /// Visits the specified alias for type.
 /// </summary>
 /// <param name="aliasForType">Type of the alias for.</param>
 public virtual void Visit(IAliasForType aliasForType)
 {
     this.Visit(aliasForType.AliasedType);
     this.Visit(aliasForType.GetAttributes(Context));
     aliasForType.Dispatch(this);
 }
 /// <summary>
 /// Visits the specified alias for type.
 /// </summary>
 /// <param name="aliasForType">Type of the alias for.</param>
 public virtual void Visit(IAliasForType aliasForType)
 {
     // IAliasForType is a base interface that should never be implemented directly.
     // Get aliasForType to call the most type specific visitor.
     aliasForType.Dispatch(this);
 }