Beispiel #1
0
 public virtual RawStatementBase RewriteStatement(RawStatementBase item)
 {
     if (item is RawStatement)
     {
         return(RewriteRawStatement((RawStatement)item));
     }
     else if (item is RawStatementTypeReference)
     {
         return(RewriteRawTypeReference((RawStatementTypeReference)item));
     }
     else
     {
         throw NonVisitable(item, "raw statement {0}");
     }
 }
Beispiel #2
0
 public virtual void Visit(RawStatements raw, RawStatementBase item)
 {
     if (item is RawStatement)
     {
         VisitRawStatement(item);
     }
     else if (item is RawStatementTypeReference)
     {
         VisitRawTypeReference(item);
     }
     else
     {
         NonVisitable(raw, "raw statement {0}");
     }
 }
 public static bool IsSame(this RawStatementBase r1, RawStatementBase r2)
 {
     if (r1 == null || r2 == null)
     {
         return(r1 == r2);
     }
     if (r1.GetType() != r2.GetType())
     {
         return(false);
     }
     if (r1 is RawStatementTypeReference)
     {
         return(IsSame((RawStatementTypeReference)r1, (RawStatementTypeReference)r2));
     }
     else if (r1 is RawStatement)
     {
         return(IsSame((RawStatement)r1, (RawStatement)r2));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Beispiel #4
0
 public virtual void VisitRawStatement(RawStatementBase item)
 {
 }
Beispiel #5
0
 public virtual void VisitRawTypeReference(RawStatementBase item)
 {
     VisitTypeReference(((RawStatementTypeReference)item).TypeReference);
 }