Example #1
0
        internal static string ModuleQualifiedUnitNamespace(IUnit currentUnit, IUnitNamespace unitNamespace, out bool wasRoot)
        {
            INestedUnitNamespace nestedUnitNamespace = unitNamespace as INestedUnitNamespace;

            if (nestedUnitNamespace != null)
            {
                StringBuilder sb = new StringBuilder(Helper.ModuleQualifiedUnitNamespace(currentUnit, (IUnitNamespace)nestedUnitNamespace.ContainingNamespace, out wasRoot));
                if (!wasRoot)
                {
                    sb.Append(".");
                }
                sb.Append(nestedUnitNamespace.Name.Value);
                wasRoot = false;
                return(sb.ToString());
            }
            else
            {
                wasRoot = true;
                if (!unitNamespace.Unit.Equals(currentUnit))
                {
                    return(Helper.Unit(unitNamespace.Unit));
                }
            }
            return(string.Empty);
        }
 public override void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
     if (Process(nestedUnitNamespace))
     {
         visitor.Visit(nestedUnitNamespace);
     }
     base.Visit(nestedUnitNamespace);
 }
 public override void TraverseChildren(INestedUnitNamespace nestedUnitNamespace)
 {
     if (!_filter.Include(nestedUnitNamespace))
     {
         return;
     }
     base.TraverseChildren(nestedUnitNamespace);
 }
Example #4
0
        private static IUnitNamespace GetUnitNamespace(INamespaceDefinition containingNamespace)
        {
            INestedUnitNamespace nestedUnitNamespace = containingNamespace as INestedUnitNamespace;

            if (nestedUnitNamespace != null)
            {
                containingNamespace = nestedUnitNamespace.ContainingUnitNamespace;
            }
            IUnitNamespace unitNamespace = containingNamespace as IUnitNamespace;

            return(unitNamespace);
        }
Example #5
0
        private static IEnumerable <string> AllNamespaces(this INestedUnitNamespace nestedNamespace)
        {
            if (nestedNamespace != null)
            {
                yield return(nestedNamespace.ToString());

                foreach (var ns in AllNamespaces(nestedNamespace.ContainingUnitNamespace as INestedUnitNamespace))
                {
                    yield return(ns);
                }
            }
        }
Example #6
0
 private INestedUnitNamespace Resolve()
 {
     foreach (INamespaceMember member in this.containingUnitNamespace.ResolvedUnitNamespace.GetMembersNamed(this.Name, false))
     {
         INestedUnitNamespace /*?*/ ns = member as INestedUnitNamespace;
         if (ns != null)
         {
             return(ns);
         }
     }
     return(Dummy.NestedUnitNamespace);
 }
Example #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="member"></param>
        /// <returns></returns>
        protected override INamespaceMember GetAggregatedMember(INamespaceMember member)
        {
            INestedUnitNamespace /*?*/ nestedUnitNamespace = member as INestedUnitNamespace;

            if (nestedUnitNamespace == null)
            {
                return(member);
            }
            NestedUnitSetNamespace /*?*/ result;

            if (!this.nestedUnitNamespaceToNestedUnitSetNamespaceMap.TryGetValue(nestedUnitNamespace.Name.UniqueKey, out result))
            {
                result = new NestedUnitSetNamespace(this, member.Name, this.unitSet, new List <IUnitNamespace>());
                this.nestedUnitNamespaceToNestedUnitSetNamespaceMap.Add(nestedUnitNamespace.Name.UniqueKey, result);
            }
            //^ assume result != null && result.unitNamespaces != null;
            result.unitNamespaces.Add(nestedUnitNamespace);
            //TODO: thread safety
            return(result);
        }
Example #8
0
        private static INamespaceDefinition GetCorresponding(this IUnit unit, INamespaceDefinition nsd)
        {
            INestedUnitNamespace nested = nsd as INestedUnitNamespace;

            if (nested != null)
            {
                var parent = unit.GetCorresponding(nested.ContainingNamespace);
                if (parent == null)
                {
                    return(null);
                }
                foreach (var candidate in parent.GetMembersNamed(nested.Name, false))
                {
                    INamespaceDefinition result = candidate as INamespaceDefinition;
                    if (result != null)
                    {
                        return(result);
                    }
                }
                return(null);
            }
            // must be the root
            return(unit.UnitNamespaceRoot);
        }
Example #9
0
 public void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
     throw new NotImplementedException();
 }
 public override void TraverseChildren(INestedUnitNamespace nestedUnitNamespace)
 {
     PrintNamespaceDefinition((INamespaceDefinition)nestedUnitNamespace);
 }
 public override void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
     if(Process(nestedUnitNamespace)){visitor.Visit(nestedUnitNamespace);}
     base.Visit(nestedUnitNamespace);
 }
Example #12
0
        private static IEnumerable <string> AllNamespaces(this INamespaceTypeReference namespaceType)
        {
            INestedUnitNamespace nestedNamespace = namespaceType.ContainingUnitNamespace as INestedUnitNamespace;

            return(nestedNamespace.AllNamespaces());
        }
Example #13
0
 /// <summary>
 /// Traverses the specified nested unit namespace.
 /// </summary>
 public virtual void TraverseChildren(INestedUnitNamespace nestedUnitNamespace)
 {
     Contract.Requires(nestedUnitNamespace != null);
       this.TraverseChildren((IUnitNamespace)nestedUnitNamespace);
 }
 /// <summary>
 /// Performs some computation with the given nested unit namespace.
 /// </summary>
 public virtual void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
 }
 public override void TraverseChildren(INestedUnitNamespace nestedUnitNamespace)
 {
     if (!_filter.Include(nestedUnitNamespace))
         return;
     base.TraverseChildren(nestedUnitNamespace);
 }
 /// <summary>
 /// Rewrites the specified nested unit namespace.
 /// </summary>
 public virtual INestedUnitNamespace Rewrite(INestedUnitNamespace nestedUnitNamespace)
 {
     return nestedUnitNamespace;
 }
Example #17
0
 public override void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
     allElements.Add(new InvokInfo(Traverser, "INestedUnitNamespace", nestedUnitNamespace));
 }
Example #18
0
 public override void Visit(INestedUnitNamespace nestedUnitNamespace) {
   nestedUnitNamespace.ContainingUnitNamespace.Dispatch(this);
   this.Visit(nestedUnitNamespace.Name.Value);
 }
Example #19
0
 /// <summary>
 /// Traverses the specified nested unit namespace.
 /// </summary>
 public void Traverse(INestedUnitNamespace nestedUnitNamespace)
 {
     Contract.Requires(nestedUnitNamespace != null);
       if (this.preorderVisitor != null) this.preorderVisitor.Visit(nestedUnitNamespace);
       if (this.stopTraversal) return;
       this.TraverseChildren(nestedUnitNamespace);
       if (this.stopTraversal) return;
       if (this.postorderVisitor != null) this.postorderVisitor.Visit(nestedUnitNamespace);
 }
Example #20
0
 //^ ensures this.path.Count == old(this.path.Count);
 /// <summary>
 /// Performs some computation with the given nested unit namespace.
 /// </summary>
 /// <param name="nestedUnitNamespace"></param>
 public virtual void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
 }
Example #21
0
 public void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
     this.traverser.Traverse(nestedUnitNamespace);
 }
Example #22
0
 /// <summary>
 /// Performs some computation with the given nested unit namespace.
 /// </summary>
 public void Visit(INestedUnitNamespace nestedUnitNamespace)
 {
     this.Visit((IUnitNamespace)nestedUnitNamespace);
 }
Example #23
0
 /// <summary>
 /// Performs some computation with the given nested unit namespace.
 /// </summary>
 /// <param name="nestedUnitNamespace"></param>
 public virtual void Visit(INestedUnitNamespace nestedUnitNamespace)
   //^ ensures this.path.Count == old(this.path.Count);
 {
 }
Example #24
0
 public virtual void onMetadataElement(INestedUnitNamespace nestedUnitNamespace)
 {
 }
 public virtual void onMetadataElement(INestedUnitNamespace nestedUnitNamespace) { }
        public override void TraverseChildren(INestedUnitNamespace nestedUnitNamespace)
{ MethodEnter(nestedUnitNamespace);
            base.TraverseChildren(nestedUnitNamespace);
     MethodExit();   }
Example #27
0
 public override void TraverseChildren(INestedUnitNamespace nestedUnitNamespace)
 {
     MethodEnter(nestedUnitNamespace);
     base.TraverseChildren(nestedUnitNamespace);
     MethodExit();
 }
Example #28
0
 /// <summary>
 /// Traverses the specified nested unit namespace.
 /// </summary>
 public virtual void TraverseChildren(INestedUnitNamespace nestedUnitNamespace)
 {
     this.TraverseChildren((IUnitNamespace)nestedUnitNamespace);
 }