示例#1
0
        /// <summary>
        ///     A class that traverses the contract, code and metadata models in depth first, left to right order.
        /// </summary>
        public CciContractTraverser(IContractProvider contractProvider, ICodeAndContractVisitor preorderVisitor)
        {
            Contract.Requires(contractProvider != null);
            Contract.Requires(preorderVisitor != null);

            this.contractProvider = contractProvider;

            this.preorderVisitor = preorderVisitor;
            PreorderVisitor      = preorderVisitor;

            dispatchingVisitor = new CciContractElementDispatcher(this);
        }
示例#2
0
 public void Dispatch(ICodeAndContractVisitor visitor) {
 }
示例#3
0
 /// <summary>
 /// Calls visitor.Visit(IMethodContract).
 /// </summary>
 public virtual void Dispatch(ICodeAndContractVisitor visitor)
 {
     visitor.Visit(this);
 }
示例#4
0
 public void Dispatch(ICodeAndContractVisitor visitor)
 {
 }
示例#5
0
 /// <summary>
 /// Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
 /// of the object implementing IContractElement.
 /// </summary>
 /// <param name="visitor"></param>
 public abstract void Dispatch(ICodeAndContractVisitor visitor);
示例#6
0
 /// <summary>
 /// Calls visitor.Visit(ITypeInvariant).
 /// </summary>
 /// <param name="visitor"></param>
 public override void Dispatch(ICodeAndContractVisitor visitor) {
   visitor.Visit(this);
 }
示例#7
0
 /// <summary>
 /// Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
 /// of the object implementing IContractElement.
 /// </summary>
 /// <param name="visitor"></param>
 public abstract void Dispatch(ICodeAndContractVisitor visitor);
示例#8
0
 /// <summary>
 /// Calls visitor.Visit(ITypeInvariant).
 /// </summary>
 /// <param name="visitor"></param>
 public override void Dispatch(ICodeAndContractVisitor visitor)
 {
     visitor.Visit(this);
 }