public override void Visit(INestedAliasForType nestedAliasForType)
 {
     if (Process(nestedAliasForType))
     {
         visitor.Visit(nestedAliasForType);
     }
     base.Visit(nestedAliasForType);
 }
示例#2
0
        private static INamespaceAliasForType GetAliasForType(IAliasForType aliasForType)
        {
            INestedAliasForType nestedAliasForType = aliasForType as INestedAliasForType;

            while (nestedAliasForType != null)
            {
                aliasForType       = nestedAliasForType.ContainingAlias;
                nestedAliasForType = aliasForType as INestedAliasForType;
            }
            INamespaceAliasForType namespaceAliasForType = aliasForType as INamespaceAliasForType;

            return(namespaceAliasForType);
        }
示例#3
0
 public void Visit(INestedAliasForType nestedAliasForType)
 {
     this.traverser.Traverse(nestedAliasForType);
 }
示例#4
0
 /// <summary>
 /// Traverses the children of the nested alias for type.
 /// </summary>
 public virtual void TraverseChildren(INestedAliasForType nestedAliasForType)
 {
     Contract.Requires(nestedAliasForType != null);
       this.TraverseChildren((IAliasForType)nestedAliasForType);
 }
示例#5
0
 /// <summary>
 /// Traverses the nested alias for type.
 /// </summary>
 public void Traverse(INestedAliasForType nestedAliasForType)
 {
     Contract.Requires(nestedAliasForType != null);
       if (this.preorderVisitor != null) this.preorderVisitor.Visit(nestedAliasForType);
       if (this.stopTraversal) return;
       this.TraverseChildren(nestedAliasForType);
       if (this.stopTraversal) return;
       if (this.postorderVisitor != null) this.postorderVisitor.Visit(nestedAliasForType);
 }
示例#6
0
 /// <summary>
 /// Performs some computation with the given alias to a nested type definition.
 /// </summary>
 public virtual void VisitReference(INestedAliasForType nestedAliasForType)
 {
 }
 public override void Visit(INestedAliasForType nestedAliasForType)
 {
     if(Process(nestedAliasForType)){visitor.Visit(nestedAliasForType);}
     base.Visit(nestedAliasForType);
 }
 public virtual void onMetadataElement(INestedAliasForType nestedAliasForType) { }
示例#9
0
 /// <summary>
 /// Performs some computation with the given alias to a nested type definition.
 /// </summary>
 public void Visit(INestedAliasForType nestedAliasForType)
 {
     this.Visit((IAliasForType)nestedAliasForType);
     if (nestedAliasForType.Visibility != TypeMemberVisibility.Public && !(TypeHelper.GetDefiningUnitReference(nestedAliasForType.AliasedType) is IAssemblyReference))
       this.ReportError(MetadataError.NonPublicTypeAlias, nestedAliasForType);
     if (nestedAliasForType.ContainingAlias is Dummy) {
       this.ReportError(MetadataError.IncompleteNode, nestedAliasForType, "ContainingAlias");
     } else if (!IteratorHelper.EnumerableContains(this.validator.currentModule.ContainingAssembly.ExportedTypes, nestedAliasForType.ContainingAlias))
       this.ReportError(MetadataError.ContainingAliasNotListedInExportedTypes, nestedAliasForType.ContainingAlias, this.validator.currentModule.ContainingAssembly);
 }
示例#10
0
 public virtual void onMetadataElement(INestedAliasForType nestedAliasForType)
 {
 }
 /// <summary>
 /// Performs some computation with the given alias to a nested type definition.
 /// </summary>
 public virtual void Visit(INestedAliasForType nestedAliasForType)
 {
 }
 /// <summary>
 /// Rewrites the nested alias for type
 /// </summary>
 public virtual INestedAliasForType Rewrite(INestedAliasForType nestedAliasForType)
 {
     return nestedAliasForType;
 }
示例#13
0
 public override void Visit(INestedAliasForType nestedAliasForType)
 {
     allElements.Add(new InvokInfo(Traverser, "INestedAliasForType", nestedAliasForType));
 }
示例#14
0
 /// <summary>
 /// Performs some computation with the given alias to a nested type definition.
 /// </summary>
 public virtual void Visit(INestedAliasForType nestedAliasForType)
 {
     this.Visit((IAliasForType)nestedAliasForType);
 }
        public override void TraverseChildren(INestedAliasForType nestedAliasForType)
{ MethodEnter(nestedAliasForType);
            base.TraverseChildren(nestedAliasForType);
     MethodExit();   }
示例#16
0
 /// <summary>
 /// Performs some computation with the given alias to a nested type definition.
 /// </summary>
 /// <param name="nestedAliasForType"></param>
 public virtual void Visit(INestedAliasForType nestedAliasForType)
 {
 }
示例#17
0
 public void Visit(INestedAliasForType nestedAliasForType)
 {
     throw new NotImplementedException();
 }
 public override void Visit(INestedAliasForType nestedAliasForType)
 {
     AddTypeForwarder(nestedAliasForType.ContainingAlias);
     base.Visit(nestedAliasForType);
 }
示例#19
0
 public override void Visit(INestedAliasForType nestedAliasForType)
 {
     AddTypeForwarder(nestedAliasForType.ContainingAlias);
     base.Visit(nestedAliasForType);
 }
示例#20
0
 public override void TraverseChildren(INestedAliasForType nestedAliasForType)
 {
     MethodEnter(nestedAliasForType);
     base.TraverseChildren(nestedAliasForType);
     MethodExit();
 }
示例#21
0
 /// <summary>
 /// Traverses the children of the nested alias for type.
 /// </summary>
 public virtual void TraverseChildren(INestedAliasForType nestedAliasForType)
 {
     this.TraverseChildren((IAliasForType)nestedAliasForType);
 }