forstatement.cs

来自「全功能c#编译器」· CS 代码 · 共 69 行

CS
69
字号
using System;
using System.Diagnostics;
using System.Collections;
using System.Collections.Generic;

namespace ICSharpCode.CsVbRefactory.Parser.AST 
{
	public class ForStatement : Statement
	{
		ArrayList       initializers; // EmbeddedStatement OR list of StatmentExpressions
		Expression      condition;
		List<Statement> iterator;
		Statement       embeddedStatement;
		
		public ArrayList Initializers {
			get {
				return initializers;
			}
		}
		
		public List<Statement> Iterator {
			get {
				return iterator;
			}
		}
		
		public Expression Condition {
			get {
				return condition;
			}
			set {
				condition = value == null ? Expression.Null : value;
			}
		}
		
		public Statement EmbeddedStatement {
			get {
				return embeddedStatement;
			}
			set {
				embeddedStatement = value == null ? Statement.Null : value;
			}
		}
		
		public ForStatement(ArrayList initializers, Expression condition, List<Statement> iterator, Statement embeddedStatement)
		{
			this.initializers = initializers == null ? new ArrayList() : initializers;
			this.iterator = iterator == null ? new List<Statement>(1) : iterator;
			
			this.Condition         = condition;
			this.EmbeddedStatement = embeddedStatement;
		}
		
		public override object AcceptVisitor(IASTVisitor visitor, object data)
		{
			return visitor.Visit(this, data);
		}
		
		public override string ToString()
		{
			return String.Format("[ForStatement: Initializers{0}, Condition={1}, iterator{2}, EmbeddedStatement={3}]", 
			                     GetCollectionString(initializers),
			                     condition,
			                     GetCollectionString(iterator),
			                     embeddedStatement);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?