示例#1
0
        public override Type VisitBvTypeProxy(BvTypeProxy node)
        {
            //Contract.Requires(node != null);
            Contract.Ensures(Contract.Result <Type>() != null);
            if (node.ProxyFor != null)
            {
                return(base.VisitBvTypeProxy(node));
            }

            return(Instantiate(node, new BvType(node.MinBits)));
        }
示例#2
0
 public virtual Type VisitBvTypeProxy(BvTypeProxy node)
 {
     Contract.Requires(node != null);
     Contract.Ensures(Contract.Result <Type>() != null);
     // if the type proxy is instantiated with some more
     // specific type, we visit the instantiation
     if (node.ProxyFor != null)
     {
         return((Type)this.Visit(node.ProxyFor));
     }
     return(this.VisitType(node));
 }
示例#3
0
 public override Type VisitBvTypeProxy(BvTypeProxy node)
 {
     Contract.Ensures(Contract.Result<Type>() == node);
     // if the type proxy is instantiated with some more
     // specific type, we visit the instantiation
     if (node.ProxyFor != null)
         this.Visit(node.ProxyFor);
     return this.VisitType(node);
 }
示例#4
0
 public virtual Type VisitBvTypeProxy(BvTypeProxy node) {
   Contract.Requires(node != null);
   Contract.Ensures(Contract.Result<Type>() != null);
   // if the type proxy is instantiated with some more
   // specific type, we visit the instantiation
   if (node.ProxyFor != null)
     return (Type)this.Visit(node.ProxyFor);
   return this.VisitType(node);
 }
示例#5
0
    public override Type VisitBvTypeProxy(BvTypeProxy node) {
      //Contract.Requires(node != null);
      Contract.Ensures(Contract.Result<Type>() != null);
      if (node.ProxyFor != null)
        return base.VisitBvTypeProxy(node);

      return Instantiate(node, new BvType(node.MinBits));
    }
示例#6
0
 public override Type VisitBvTypeProxy(BvTypeProxy node)
 {
     problematicNode = node;
     return(node);
 }