private JoinStatement VisitJoinStatement(JoinStatement joinstmt) { if (joinstmt == null) return null; JoinPatternList newJoinPatternList = new JoinPatternList(); for (int i = 0, n = joinstmt.joinPatternList.Length; i < n; i++) newJoinPatternList.Add((JoinPattern)this.Visit(joinstmt.joinPatternList[i])); joinstmt.joinPatternList = newJoinPatternList; joinstmt.statement = (Statement)this.Visit(joinstmt.statement); joinstmt.attributes = this.VisitAttributeList(joinstmt.attributes); return joinstmt; }
public JoinStatement(JoinPatternList joinPatternList, Statement statement, SourceContext sourceContext) : this(joinPatternList, statement) { this.SourceContext = sourceContext; }
public JoinPatternList Clone() { int n = this.length; JoinPatternList result = new JoinPatternList(n); result.length = n; JoinPattern[] newElements = result.elements; for (int i = 0; i < n; i++) newElements[i] = this.elements[i]; return result; }
public JoinStatement(JoinPatternList joinPatternList, Statement statement) : this() { this.joinPatternList = joinPatternList; this.statement = statement; }
private JoinStatement VisitJoinStatement(JoinStatement joinstmt) { if (joinstmt == null) return null; JoinPatternList newJoinPatternList = new JoinPatternList(); for (int i = 0, n = joinstmt.joinPatternList.Length; i < n; i++) { if (joinstmt.joinPatternList[i] is TimeoutPattern && n != 1) { // If we've already see a timeout in this join statement, then // skip any subsequent ones and report an error HandleError(joinstmt.joinPatternList[i], Error.TimeoutNotAlone); return null; } JoinPattern newJoinPattern = (JoinPattern)this.Visit(joinstmt.joinPatternList[i]); if (newJoinPattern != null) newJoinPatternList.Add(newJoinPattern); } joinstmt.joinPatternList = newJoinPatternList; joinstmt.statement = (Statement)this.Visit(joinstmt.statement); joinstmt.attributes = this.VisitAttributeList(joinstmt.attributes); if (joinstmt.joinPatternList.Length == 0 || joinstmt.statement == null) return null; return joinstmt; }