public override void Visit(IUnitSet unitSet)
 {
     if (Process(unitSet))
     {
         visitor.Visit(unitSet);
     }
     base.Visit(unitSet);
 }
예제 #2
0
        /// <summary>
        /// Visits the specified unit.
        /// </summary>
        /// <param name="unit">The unit.</param>
        public override void Visit(IUnit unit)
        {
            List <IUnit> units = new List <IUnit>();

            foreach (IUnitReference uref in unit.UnitReferences)
            {
                units.Add(uref.ResolvedUnit);
            }
            units.Add(unit);
            this.unitSet = new Immutable.UnitSet(units.AsReadOnly());
            base.Visit(unit);
        }
예제 #3
0
 internal NestedUnitSetNamespace(UnitSetNamespace containingNamespace, IName name, IUnitSet unitSet, List <IUnitNamespace> nestedUnitNamepaces)
     : base(name, unitSet, nestedUnitNamepaces)
 {
     this.containingNamespace = containingNamespace;
 }
예제 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="name"></param>
 /// <param name="unitSet"></param>
 /// <param name="nestedUnitNamespaces"></param>
 protected UnitSetNamespace(IName name, IUnitSet unitSet, List <IUnitNamespace> nestedUnitNamespaces)
     : base(name)
 {
     this.unitSet        = unitSet;
     this.unitNamespaces = nestedUnitNamespaces;
 }
예제 #5
0
 public virtual void onMetadataElement(IUnitSet unitSet) { }
예제 #6
0
 /// <summary>
 /// Performs some computation with the given unit set.
 /// </summary>
 public void Visit(IUnitSet unitSet)
 {
 }
예제 #7
0
 /// <summary>
 /// Performs some computation with the given unit set.
 /// </summary>
 public virtual void Visit(IUnitSet unitSet)
 {
 }
예제 #8
0
 public void Visit(IUnitSet unitSet)
 {
     Contract.Assume(false);
 }
예제 #9
0
 //^ ensures this.path.Count == old(this.path.Count);
 /// <summary>
 /// Performs some computation with the given unit set.
 /// </summary>
 /// <param name="unitSet"></param>
 public virtual void Visit(IUnitSet unitSet)
 {
     if (this.stopTraversal) return;
       //^ int oldCount = this.path.Count;
       this.path.Push(unitSet);
       this.Visit(unitSet.UnitSetNamespaceRoot);
       //^ 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();
 }
예제 #10
0
 public void Visit(IUnitSet unitSet)
 {
     throw new NotImplementedException();
 }
예제 #11
0
 /// <summary>
 /// Visits the specified unit.
 /// </summary>
 /// <param name="unit">The unit.</param>
 public override void Visit(IUnit unit)
 {
     List<IUnit> units = new List<IUnit>();
       foreach (IUnitReference uref in unit.UnitReferences) units.Add(uref.ResolvedUnit);
       units.Add(unit);
       this.unitSet = new Immutable.UnitSet(units.AsReadOnly());
       base.Visit(unit);
 }
예제 #12
0
 public virtual void onMetadataElement(IUnitSet unitSet)
 {
 }
 /// <summary>
 /// Performs some computation with the given unit set.
 /// </summary>
 public virtual void Visit(IUnitSet unitSet)
 {
 }
예제 #14
0
 public override void Visit(IUnitSet unitSet)
 {
     allElements.Add(new InvokInfo(Traverser, "IUnitSet", unitSet));
 }
 public override void Visit(IUnitSet unitSet)
 {
     if(Process(unitSet)){visitor.Visit(unitSet);}
     base.Visit(unitSet);
 }