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); }
private static IUnitNamespace GetUnitNamespace(INamespaceDefinition containingNamespace) { INestedUnitNamespace nestedUnitNamespace = containingNamespace as INestedUnitNamespace; if (nestedUnitNamespace != null) { containingNamespace = nestedUnitNamespace.ContainingUnitNamespace; } IUnitNamespace unitNamespace = containingNamespace as IUnitNamespace; return(unitNamespace); }
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); } } }
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); }
/// <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); }
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); }
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); }
private static IEnumerable <string> AllNamespaces(this INamespaceTypeReference namespaceType) { INestedUnitNamespace nestedNamespace = namespaceType.ContainingUnitNamespace as INestedUnitNamespace; return(nestedNamespace.AllNamespaces()); }
/// <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; }
public override void Visit(INestedUnitNamespace nestedUnitNamespace) { allElements.Add(new InvokInfo(Traverser, "INestedUnitNamespace", nestedUnitNamespace)); }
public override void Visit(INestedUnitNamespace nestedUnitNamespace) { nestedUnitNamespace.ContainingUnitNamespace.Dispatch(this); this.Visit(nestedUnitNamespace.Name.Value); }
/// <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); }
//^ 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) { }
public void Visit(INestedUnitNamespace nestedUnitNamespace) { this.traverser.Traverse(nestedUnitNamespace); }
/// <summary> /// Performs some computation with the given nested unit namespace. /// </summary> public void Visit(INestedUnitNamespace nestedUnitNamespace) { this.Visit((IUnitNamespace)nestedUnitNamespace); }
/// <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); { }
public virtual void onMetadataElement(INestedUnitNamespace nestedUnitNamespace) { }
public override void TraverseChildren(INestedUnitNamespace nestedUnitNamespace) { MethodEnter(nestedUnitNamespace); base.TraverseChildren(nestedUnitNamespace); MethodExit(); }
/// <summary> /// Traverses the specified nested unit namespace. /// </summary> public virtual void TraverseChildren(INestedUnitNamespace nestedUnitNamespace) { this.TraverseChildren((IUnitNamespace)nestedUnitNamespace); }