public virtual void Visit(ITypeDefinitionMember typeMember) { ITypeDefinition nestedType = typeMember as INestedTypeDefinition; if (nestedType != null) { this.Visit(nestedType); } else { this.Visit(typeMember.GetAttributes(Context)); typeMember.Dispatch(this); } }
/// <summary> /// Traverses the specified type member. /// </summary> public void Traverse(ITypeDefinitionMember typeMember) { Contract.Requires(typeMember != null); typeMember.Dispatch(this.dispatchingVisitor); }
/// <summary> /// Visits the specified type member. /// </summary> public virtual void Visit(ITypeDefinitionMember typeMember) { //ITypeDefinitionMember is a base interface that should never be implemented directly. //Get typeMember to call the most type specific visitor. typeMember.Dispatch(this); }
/// <summary> /// Visits the specified type member. /// </summary> /// <param name="typeMember">The type member.</param> public virtual void Visit(ITypeDefinitionMember typeMember) { if (this.stopTraversal) return; ITypeDefinition/*?*/ nestedType = typeMember as ITypeDefinition; if (nestedType != null) this.Visit(nestedType); else { //^ int oldCount = this.path.Count; this.path.Push(typeMember); this.Visit(typeMember.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(); typeMember.Dispatch(this); } }
public virtual void Visit(ITypeDefinitionMember typeMember) { ITypeDefinition nestedType = typeMember as INestedTypeDefinition; if (nestedType != null) { this.Visit(nestedType); } else { this.Visit(typeMember.GetAttributes(Context)); typeMember.Dispatch(this); } }
/// <summary> /// Visits the specified type member. /// </summary> /// <param name="typeMember">The type member.</param> public virtual void Visit(ITypeDefinitionMember typeMember) { // ITypeDefinitionMember is a base interface that should never be implemented directly. // Get typeMember to call the most type specific visitor. typeMember.Dispatch(this); }
/// <summary> /// Traverses the specified type member. /// </summary> public void Traverse(ITypeDefinitionMember typeMember) { typeMember.Dispatch(this.dispatchingVisitor); }