Пример #1
0
        public static T VisitRebarNode <T>(this IDfirNodeVisitor <T> visitor, Node node)
        {
            var dfirNode     = node as DfirNode;
            var borderNode   = node as BorderNode;
            var constant     = node as Constant;
            var dataAccessor = node as DataAccessor;
            var tunnel       = node as Tunnel;
            var wire         = node as Wire;

            if (dfirNode != null)
            {
                return(dfirNode.AcceptVisitor(visitor));
            }
            else if (borderNode != null)
            {
                return(borderNode.AcceptVisitor(visitor));
            }
            else if (constant != null)
            {
                return(visitor.VisitConstant(constant));
            }
            else if (dataAccessor != null)
            {
                return(visitor.VisitDataAccessor(dataAccessor));
            }
            else if (tunnel != null)
            {
                return(visitor.VisitTunnel(tunnel));
            }
            else if (wire != null)
            {
                return(visitor.VisitWire(wire));
            }
            throw new NotImplementedException();
        }
Пример #2
0
        public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
        {
            var internalVisitor = visitor as IInternalDfirNodeVisitor <T>;

            if (internalVisitor != null)
            {
                return(internalVisitor.VisitPanicOrContinueNode(this));
            }
            throw new NotSupportedException("Only accepts IInternalDfirNodeVisitors");
        }
Пример #3
0
        public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
        {
            var internalVisitor = visitor as IInternalDfirNodeVisitor <T>;

            if (internalVisitor != null)
            {
                return(internalVisitor.VisitCreateMethodCallPromise(this));
            }
            throw new NotSupportedException("Only accepts IInternalDfirNodeVisitors");
        }
Пример #4
0
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitUnwrapOptionTunnel(this));
 }
Пример #5
0
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitFunctionalNode(this));
 }
Пример #6
0
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitBorrowTunnel(this));
 }
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitOptionPatternStructureSelector(this));
 }
Пример #8
0
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitLoopConditionTunnel(this));
 }
Пример #9
0
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     throw new NotImplementedException();
 }
Пример #10
0
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitExplicitBorrowNode(this));
 }
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitVariantMatchStructureSelector(this));
 }
Пример #12
0
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitVariantConstructorNode(this));
 }
Пример #13
0
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitMethodCallNode(this));
 }
Пример #14
0
 public abstract T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor);
Пример #15
0
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitDecomposeTupleNode(this));
 }
Пример #16
0
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitDropNode(this));
 }
Пример #17
0
 /// <inheritdoc />
 public override T AcceptVisitor <T>(IDfirNodeVisitor <T> visitor)
 {
     return(visitor.VisitTerminateLifetimeTunnel(this));
 }
Пример #18
0
 /// <inheritdoc />
 public override T AcceptVisitor<T>(IDfirNodeVisitor<T> visitor)
 {
     return visitor.VisitStructFieldAccessorNode(this);
 }