⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractasttransformer.cs

📁 根据cs源码解析为codedom
💻 CS
📖 第 1 页 / 共 5 页
字号:
				o.AcceptVisitor(this, data);				o = (ParameterDeclarationExpression)nodeStack.Pop();				if (o == null)					eventDeclaration.Parameters.RemoveAt(i--);				else					eventDeclaration.Parameters[i] = o;			}
			nodeStack.Push(eventDeclaration.TypeReference);
			eventDeclaration.TypeReference.AcceptVisitor(this, data);
			eventDeclaration.TypeReference = ((TypeReference)(nodeStack.Pop()));
			for (int i = 0; i < eventDeclaration.InterfaceImplementations.Count; i++) {				InterfaceImplementation o = eventDeclaration.InterfaceImplementations[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (InterfaceImplementation)nodeStack.Pop();				if (o == null)					eventDeclaration.InterfaceImplementations.RemoveAt(i--);				else					eventDeclaration.InterfaceImplementations[i] = o;			}
			nodeStack.Push(eventDeclaration.AddRegion);
			eventDeclaration.AddRegion.AcceptVisitor(this, data);
			eventDeclaration.AddRegion = ((EventAddRegion)(nodeStack.Pop()));
			nodeStack.Push(eventDeclaration.RemoveRegion);
			eventDeclaration.RemoveRegion.AcceptVisitor(this, data);
			eventDeclaration.RemoveRegion = ((EventRemoveRegion)(nodeStack.Pop()));
			nodeStack.Push(eventDeclaration.RaiseRegion);
			eventDeclaration.RaiseRegion.AcceptVisitor(this, data);
			eventDeclaration.RaiseRegion = ((EventRaiseRegion)(nodeStack.Pop()));
			nodeStack.Push(eventDeclaration.Initializer);
			eventDeclaration.Initializer.AcceptVisitor(this, data);
			eventDeclaration.Initializer = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitEventRaiseRegion(EventRaiseRegion eventRaiseRegion, object data) {
			Debug.Assert((eventRaiseRegion != null));
			Debug.Assert((eventRaiseRegion.Attributes != null));
			Debug.Assert((eventRaiseRegion.Block != null));
			Debug.Assert((eventRaiseRegion.Parameters != null));
			for (int i = 0; i < eventRaiseRegion.Attributes.Count; i++) {				AttributeSection o = eventRaiseRegion.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					eventRaiseRegion.Attributes.RemoveAt(i--);				else					eventRaiseRegion.Attributes[i] = o;			}
			nodeStack.Push(eventRaiseRegion.Block);
			eventRaiseRegion.Block.AcceptVisitor(this, data);
			eventRaiseRegion.Block = ((BlockStatement)(nodeStack.Pop()));
			for (int i = 0; i < eventRaiseRegion.Parameters.Count; i++) {				ParameterDeclarationExpression o = eventRaiseRegion.Parameters[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (ParameterDeclarationExpression)nodeStack.Pop();				if (o == null)					eventRaiseRegion.Parameters.RemoveAt(i--);				else					eventRaiseRegion.Parameters[i] = o;			}
			return null;
		}
		
		public virtual object VisitEventRemoveRegion(EventRemoveRegion eventRemoveRegion, object data) {
			Debug.Assert((eventRemoveRegion != null));
			Debug.Assert((eventRemoveRegion.Attributes != null));
			Debug.Assert((eventRemoveRegion.Block != null));
			Debug.Assert((eventRemoveRegion.Parameters != null));
			for (int i = 0; i < eventRemoveRegion.Attributes.Count; i++) {				AttributeSection o = eventRemoveRegion.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					eventRemoveRegion.Attributes.RemoveAt(i--);				else					eventRemoveRegion.Attributes[i] = o;			}
			nodeStack.Push(eventRemoveRegion.Block);
			eventRemoveRegion.Block.AcceptVisitor(this, data);
			eventRemoveRegion.Block = ((BlockStatement)(nodeStack.Pop()));
			for (int i = 0; i < eventRemoveRegion.Parameters.Count; i++) {				ParameterDeclarationExpression o = eventRemoveRegion.Parameters[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (ParameterDeclarationExpression)nodeStack.Pop();				if (o == null)					eventRemoveRegion.Parameters.RemoveAt(i--);				else					eventRemoveRegion.Parameters[i] = o;			}
			return null;
		}
		
		public virtual object VisitExitStatement(ExitStatement exitStatement, object data) {
			Debug.Assert((exitStatement != null));
			return null;
		}
		
		public virtual object VisitExpressionStatement(ExpressionStatement expressionStatement, object data) {
			Debug.Assert((expressionStatement != null));
			Debug.Assert((expressionStatement.Expression != null));
			nodeStack.Push(expressionStatement.Expression);
			expressionStatement.Expression.AcceptVisitor(this, data);
			expressionStatement.Expression = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitFieldDeclaration(FieldDeclaration fieldDeclaration, object data) {
			Debug.Assert((fieldDeclaration != null));
			Debug.Assert((fieldDeclaration.Attributes != null));
			Debug.Assert((fieldDeclaration.TypeReference != null));
			Debug.Assert((fieldDeclaration.Fields != null));
			for (int i = 0; i < fieldDeclaration.Attributes.Count; i++) {				AttributeSection o = fieldDeclaration.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					fieldDeclaration.Attributes.RemoveAt(i--);				else					fieldDeclaration.Attributes[i] = o;			}
			nodeStack.Push(fieldDeclaration.TypeReference);
			fieldDeclaration.TypeReference.AcceptVisitor(this, data);
			fieldDeclaration.TypeReference = ((TypeReference)(nodeStack.Pop()));
			for (int i = 0; i < fieldDeclaration.Fields.Count; i++) {				VariableDeclaration o = fieldDeclaration.Fields[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (VariableDeclaration)nodeStack.Pop();				if (o == null)					fieldDeclaration.Fields.RemoveAt(i--);				else					fieldDeclaration.Fields[i] = o;			}
			return null;
		}
		
		public virtual object VisitFieldReferenceExpression(FieldReferenceExpression fieldReferenceExpression, object data) {
			Debug.Assert((fieldReferenceExpression != null));
			Debug.Assert((fieldReferenceExpression.TargetObject != null));
			nodeStack.Push(fieldReferenceExpression.TargetObject);
			fieldReferenceExpression.TargetObject.AcceptVisitor(this, data);
			fieldReferenceExpression.TargetObject = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitFixedStatement(FixedStatement fixedStatement, object data) {
			Debug.Assert((fixedStatement != null));
			Debug.Assert((fixedStatement.TypeReference != null));
			Debug.Assert((fixedStatement.PointerDeclarators != null));
			Debug.Assert((fixedStatement.EmbeddedStatement != null));
			nodeStack.Push(fixedStatement.TypeReference);
			fixedStatement.TypeReference.AcceptVisitor(this, data);
			fixedStatement.TypeReference = ((TypeReference)(nodeStack.Pop()));
			for (int i = 0; i < fixedStatement.PointerDeclarators.Count; i++) {				VariableDeclaration o = fixedStatement.PointerDeclarators[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (VariableDeclaration)nodeStack.Pop();				if (o == null)					fixedStatement.PointerDeclarators.RemoveAt(i--);				else					fixedStatement.PointerDeclarators[i] = o;			}
			nodeStack.Push(fixedStatement.EmbeddedStatement);
			fixedStatement.EmbeddedStatement.AcceptVisitor(this, data);
			fixedStatement.EmbeddedStatement = ((Statement)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitForeachStatement(ForeachStatement foreachStatement, object data) {
			Debug.Assert((foreachStatement != null));
			Debug.Assert((foreachStatement.TypeReference != null));
			Debug.Assert((foreachStatement.Expression != null));
			Debug.Assert((foreachStatement.NextExpression != null));
			Debug.Assert((foreachStatement.EmbeddedStatement != null));
			nodeStack.Push(foreachStatement.TypeReference);
			foreachStatement.TypeReference.AcceptVisitor(this, data);
			foreachStatement.TypeReference = ((TypeReference)(nodeStack.Pop()));
			nodeStack.Push(foreachStatement.Expression);
			foreachStatement.Expression.AcceptVisitor(this, data);
			foreachStatement.Expression = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(foreachStatement.NextExpression);
			foreachStatement.NextExpression.AcceptVisitor(this, data);
			foreachStatement.NextExpression = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(foreachStatement.EmbeddedStatement);
			foreachStatement.EmbeddedStatement.AcceptVisitor(this, data);
			foreachStatement.EmbeddedStatement = ((Statement)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitForNextStatement(ForNextStatement forNextStatement, object data) {
			Debug.Assert((forNextStatement != null));
			Debug.Assert((forNextStatement.Start != null));
			Debug.Assert((forNextStatement.End != null));
			Debug.Assert((forNextStatement.Step != null));
			Debug.Assert((forNextStatement.NextExpressions != null));
			Debug.Assert((forNextStatement.TypeReference != null));
			Debug.Assert((forNextStatement.EmbeddedStatement != null));
			nodeStack.Push(forNextStatement.Start);
			forNextStatement.Start.AcceptVisitor(this, data);
			forNextStatement.Start = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(forNextStatement.End);
			forNextStatement.End.AcceptVisitor(this, data);
			forNextStatement.End = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(forNextStatement.Step);
			forNextStatement.Step.AcceptVisitor(this, data);
			forNextStatement.Step = ((Expression)(nodeStack.Pop()));
			for (int i = 0; i < forNextStatement.NextExpressions.Count; i++) {				Expression o = forNextStatement.NextExpressions[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (Expression)nodeStack.Pop();				if (o == null)					forNextStatement.NextExpressions.RemoveAt(i--);				else					forNextStatement.NextExpressions[i] = o;			}
			nodeStack.Push(forNextStatement.TypeReference);
			forNextStatement.TypeReference.AcceptVisitor(this, data);
			forNextStatement.TypeReference = ((TypeReference)(nodeStack.Pop()));
			nodeStack.Push(forNextStatement.EmbeddedStatement);
			forNextStatement.EmbeddedStatement.AcceptVisitor(this, data);
			forNextStatement.EmbeddedStatement = ((Statement)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitForStatement(ForStatement forStatement, object data) {
			Debug.Assert((forStatement != null));
			Debug.Assert((forStatement.Initializers != null));
			Debug.Assert((forStatement.Condition != null));
			Debug.Assert((forStatement.Iterator != null));
			Debug.Assert((forStatement.EmbeddedStatement != null));
			for (int i = 0; i < forStatement.Initializers.Count; i++) {				Statement o = forStatement.Initializers[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (Statement)nodeStack.Pop();				if (o == null)					forStatement.Initializers.RemoveAt(i--);				else					forStatement.Initializers[i] = o;			}
			nodeStack.Push(forStatement.Condition);
			forStatement.Condition.AcceptVisitor(this, data);
			forStatement.Condition = ((Expression)(nodeStack.Pop()));
			for (int i = 0; i < forStatement.Iterator.Count; i++) {				Statement o = forStatement.Iterator[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (Statement)nodeStack.Pop();				if (o == null)					forStatement.Iterator.RemoveAt(i--);				else					forStatement.Iterator[i] = o;			}
			nodeStack.Push(forStatement.EmbeddedStatement);
			forStatement.EmbeddedStatement.AcceptVisitor(this, data);
			forStatement.EmbeddedStatement = ((Statement)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitGotoCaseStatement(GotoCaseStatement gotoCaseStatement, object data) {
			Debug.Assert((gotoCaseStatement != null));
			Debug.Assert((gotoCaseStatement.Expression != null));
			nodeStack.Push(gotoCaseStatement.Expression);
			gotoCaseStatement.Expression.AcceptVisitor(this, data);
			gotoCaseStatement.Expression = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitGotoStatement(GotoStatement gotoStatement, object data) {
			Debug.Assert((gotoStatement != null));
			return null;
		}
		
		public virtual object VisitIdentifierExpression(IdentifierExpression identifierExpression, object data) {
			Debug.Assert((identifierExpression != null));
			return null;
		}
		
		public virtual object VisitIfElseStatement(IfElseStatement ifElseStatement, object data) {
			Debug.Assert((ifElseStatement != null));
			Debug.Assert((ifElseStatement.Condition != null));
			Debug.Assert((ifElseStatement.TrueStatement != null));
			Debug.Assert((ifElseStatement.FalseStatement != null));
			Debug.Assert((ifElseStatement.ElseIfSections != null));
			nodeStack.Push(ifElseStatement.Condition);
			ifElseStatement.Condition.AcceptVisitor(this, data);
			ifElseStatement.Condition = ((Expression)(nodeStack.Pop()));
			for (int i = 0; i < ifElseStatement.TrueStatement.Count; i++) {				Statement o = ifElseStatement.TrueStatement[i];				Debug.Assert(o != null);

⌨️ 快捷键说明

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