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

📄 abstractasttransformer.cs

📁 根据cs源码解析为codedom
💻 CS
📖 第 1 页 / 共 5 页
字号:
					objectCreateExpression.Parameters.RemoveAt(i--);				else					objectCreateExpression.Parameters[i] = o;			}
			return null;
		}
		
		public virtual object VisitOnErrorStatement(OnErrorStatement onErrorStatement, object data) {
			Debug.Assert((onErrorStatement != null));
			Debug.Assert((onErrorStatement.EmbeddedStatement != null));
			nodeStack.Push(onErrorStatement.EmbeddedStatement);
			onErrorStatement.EmbeddedStatement.AcceptVisitor(this, data);
			onErrorStatement.EmbeddedStatement = ((Statement)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitOperatorDeclaration(OperatorDeclaration operatorDeclaration, object data) {
			Debug.Assert((operatorDeclaration != null));
			Debug.Assert((operatorDeclaration.Attributes != null));
			Debug.Assert((operatorDeclaration.Parameters != null));
			Debug.Assert((operatorDeclaration.TypeReference != null));
			Debug.Assert((operatorDeclaration.Body != null));
			Debug.Assert((operatorDeclaration.InterfaceImplementations != null));
			Debug.Assert((operatorDeclaration.Templates != null));
			Debug.Assert((operatorDeclaration.ReturnTypeAttributes != null));
			for (int i = 0; i < operatorDeclaration.Attributes.Count; i++) {				AttributeSection o = operatorDeclaration.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					operatorDeclaration.Attributes.RemoveAt(i--);				else					operatorDeclaration.Attributes[i] = o;			}
			for (int i = 0; i < operatorDeclaration.Parameters.Count; i++) {				ParameterDeclarationExpression o = operatorDeclaration.Parameters[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (ParameterDeclarationExpression)nodeStack.Pop();				if (o == null)					operatorDeclaration.Parameters.RemoveAt(i--);				else					operatorDeclaration.Parameters[i] = o;			}
			nodeStack.Push(operatorDeclaration.TypeReference);
			operatorDeclaration.TypeReference.AcceptVisitor(this, data);
			operatorDeclaration.TypeReference = ((TypeReference)(nodeStack.Pop()));
			nodeStack.Push(operatorDeclaration.Body);
			operatorDeclaration.Body.AcceptVisitor(this, data);
			operatorDeclaration.Body = ((BlockStatement)(nodeStack.Pop()));
			for (int i = 0; i < operatorDeclaration.InterfaceImplementations.Count; i++) {				InterfaceImplementation o = operatorDeclaration.InterfaceImplementations[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (InterfaceImplementation)nodeStack.Pop();				if (o == null)					operatorDeclaration.InterfaceImplementations.RemoveAt(i--);				else					operatorDeclaration.InterfaceImplementations[i] = o;			}
			for (int i = 0; i < operatorDeclaration.Templates.Count; i++) {				TemplateDefinition o = operatorDeclaration.Templates[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (TemplateDefinition)nodeStack.Pop();				if (o == null)					operatorDeclaration.Templates.RemoveAt(i--);				else					operatorDeclaration.Templates[i] = o;			}
			for (int i = 0; i < operatorDeclaration.ReturnTypeAttributes.Count; i++) {				AttributeSection o = operatorDeclaration.ReturnTypeAttributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					operatorDeclaration.ReturnTypeAttributes.RemoveAt(i--);				else					operatorDeclaration.ReturnTypeAttributes[i] = o;			}
			return null;
		}
		
		public virtual object VisitOptionDeclaration(OptionDeclaration optionDeclaration, object data) {
			Debug.Assert((optionDeclaration != null));
			return null;
		}
		
		public virtual object VisitParameterDeclarationExpression(ParameterDeclarationExpression parameterDeclarationExpression, object data) {
			Debug.Assert((parameterDeclarationExpression != null));
			Debug.Assert((parameterDeclarationExpression.Attributes != null));
			Debug.Assert((parameterDeclarationExpression.TypeReference != null));
			Debug.Assert((parameterDeclarationExpression.DefaultValue != null));
			for (int i = 0; i < parameterDeclarationExpression.Attributes.Count; i++) {				AttributeSection o = parameterDeclarationExpression.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					parameterDeclarationExpression.Attributes.RemoveAt(i--);				else					parameterDeclarationExpression.Attributes[i] = o;			}
			nodeStack.Push(parameterDeclarationExpression.TypeReference);
			parameterDeclarationExpression.TypeReference.AcceptVisitor(this, data);
			parameterDeclarationExpression.TypeReference = ((TypeReference)(nodeStack.Pop()));
			nodeStack.Push(parameterDeclarationExpression.DefaultValue);
			parameterDeclarationExpression.DefaultValue.AcceptVisitor(this, data);
			parameterDeclarationExpression.DefaultValue = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitParenthesizedExpression(ParenthesizedExpression parenthesizedExpression, object data) {
			Debug.Assert((parenthesizedExpression != null));
			Debug.Assert((parenthesizedExpression.Expression != null));
			nodeStack.Push(parenthesizedExpression.Expression);
			parenthesizedExpression.Expression.AcceptVisitor(this, data);
			parenthesizedExpression.Expression = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitPointerReferenceExpression(PointerReferenceExpression pointerReferenceExpression, object data) {
			Debug.Assert((pointerReferenceExpression != null));
			Debug.Assert((pointerReferenceExpression.TargetObject != null));
			nodeStack.Push(pointerReferenceExpression.TargetObject);
			pointerReferenceExpression.TargetObject.AcceptVisitor(this, data);
			pointerReferenceExpression.TargetObject = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitPrimitiveExpression(PrimitiveExpression primitiveExpression, object data) {
			Debug.Assert((primitiveExpression != null));
			return null;
		}
		
		public virtual object VisitPropertyDeclaration(PropertyDeclaration propertyDeclaration, object data) {
			Debug.Assert((propertyDeclaration != null));
			Debug.Assert((propertyDeclaration.Attributes != null));
			Debug.Assert((propertyDeclaration.Parameters != null));
			Debug.Assert((propertyDeclaration.InterfaceImplementations != null));
			Debug.Assert((propertyDeclaration.TypeReference != null));
			Debug.Assert((propertyDeclaration.GetRegion != null));
			Debug.Assert((propertyDeclaration.SetRegion != null));
			for (int i = 0; i < propertyDeclaration.Attributes.Count; i++) {				AttributeSection o = propertyDeclaration.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					propertyDeclaration.Attributes.RemoveAt(i--);				else					propertyDeclaration.Attributes[i] = o;			}
			for (int i = 0; i < propertyDeclaration.Parameters.Count; i++) {				ParameterDeclarationExpression o = propertyDeclaration.Parameters[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (ParameterDeclarationExpression)nodeStack.Pop();				if (o == null)					propertyDeclaration.Parameters.RemoveAt(i--);				else					propertyDeclaration.Parameters[i] = o;			}
			for (int i = 0; i < propertyDeclaration.InterfaceImplementations.Count; i++) {				InterfaceImplementation o = propertyDeclaration.InterfaceImplementations[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (InterfaceImplementation)nodeStack.Pop();				if (o == null)					propertyDeclaration.InterfaceImplementations.RemoveAt(i--);				else					propertyDeclaration.InterfaceImplementations[i] = o;			}
			nodeStack.Push(propertyDeclaration.TypeReference);
			propertyDeclaration.TypeReference.AcceptVisitor(this, data);
			propertyDeclaration.TypeReference = ((TypeReference)(nodeStack.Pop()));
			nodeStack.Push(propertyDeclaration.GetRegion);
			propertyDeclaration.GetRegion.AcceptVisitor(this, data);
			propertyDeclaration.GetRegion = ((PropertyGetRegion)(nodeStack.Pop()));
			nodeStack.Push(propertyDeclaration.SetRegion);
			propertyDeclaration.SetRegion.AcceptVisitor(this, data);
			propertyDeclaration.SetRegion = ((PropertySetRegion)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitPropertyGetRegion(PropertyGetRegion propertyGetRegion, object data) {
			Debug.Assert((propertyGetRegion != null));
			Debug.Assert((propertyGetRegion.Attributes != null));
			Debug.Assert((propertyGetRegion.Block != null));
			for (int i = 0; i < propertyGetRegion.Attributes.Count; i++) {				AttributeSection o = propertyGetRegion.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					propertyGetRegion.Attributes.RemoveAt(i--);				else					propertyGetRegion.Attributes[i] = o;			}
			nodeStack.Push(propertyGetRegion.Block);
			propertyGetRegion.Block.AcceptVisitor(this, data);
			propertyGetRegion.Block = ((BlockStatement)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) {
			Debug.Assert((propertySetRegion != null));
			Debug.Assert((propertySetRegion.Attributes != null));
			Debug.Assert((propertySetRegion.Block != null));
			Debug.Assert((propertySetRegion.Parameters != null));
			for (int i = 0; i < propertySetRegion.Attributes.Count; i++) {				AttributeSection o = propertySetRegion.Attributes[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (AttributeSection)nodeStack.Pop();				if (o == null)					propertySetRegion.Attributes.RemoveAt(i--);				else					propertySetRegion.Attributes[i] = o;			}
			nodeStack.Push(propertySetRegion.Block);
			propertySetRegion.Block.AcceptVisitor(this, data);
			propertySetRegion.Block = ((BlockStatement)(nodeStack.Pop()));
			for (int i = 0; i < propertySetRegion.Parameters.Count; i++) {				ParameterDeclarationExpression o = propertySetRegion.Parameters[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (ParameterDeclarationExpression)nodeStack.Pop();				if (o == null)					propertySetRegion.Parameters.RemoveAt(i--);				else					propertySetRegion.Parameters[i] = o;			}
			return null;
		}
		
		public virtual object VisitRaiseEventStatement(RaiseEventStatement raiseEventStatement, object data) {
			Debug.Assert((raiseEventStatement != null));
			Debug.Assert((raiseEventStatement.Arguments != null));
			for (int i = 0; i < raiseEventStatement.Arguments.Count; i++) {				Expression o = raiseEventStatement.Arguments[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (Expression)nodeStack.Pop();				if (o == null)					raiseEventStatement.Arguments.RemoveAt(i--);				else					raiseEventStatement.Arguments[i] = o;			}
			return null;
		}
		
		public virtual object VisitReDimStatement(ReDimStatement reDimStatement, object data) {
			Debug.Assert((reDimStatement != null));
			Debug.Assert((reDimStatement.ReDimClauses != null));
			for (int i = 0; i < reDimStatement.ReDimClauses.Count; i++) {				InvocationExpression o = reDimStatement.ReDimClauses[i];				Debug.Assert(o != null);				nodeStack.Push(o);				o.AcceptVisitor(this, data);				o = (InvocationExpression)nodeStack.Pop();				if (o == null)					reDimStatement.ReDimClauses.RemoveAt(i--);				else					reDimStatement.ReDimClauses[i] = o;			}
			return null;
		}
		
		public virtual object VisitRemoveHandlerStatement(RemoveHandlerStatement removeHandlerStatement, object data) {
			Debug.Assert((removeHandlerStatement != null));
			Debug.Assert((removeHandlerStatement.EventExpression != null));
			Debug.Assert((removeHandlerStatement.HandlerExpression != null));
			nodeStack.Push(removeHandlerStatement.EventExpression);
			removeHandlerStatement.EventExpression.AcceptVisitor(this, data);
			removeHandlerStatement.EventExpression = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(removeHandlerStatement.HandlerExpression);
			removeHandlerStatement.HandlerExpression.AcceptVisitor(this, data);
			removeHandlerStatement.HandlerExpression = ((Expression)(nodeStack.Pop()));
			return null;
		}
		
		public virtual object VisitResumeStatement(ResumeStatement resumeStatement, object data) {
			Debug.Assert((resumeStatement != null));
			return null;
		}
		
		public virtual object VisitReturnStatement(ReturnStatement returnStatement, object data) {
			Debug.Assert((returnStatement != null));
			Debug.Assert((returnStatement.Expression != null));
			nodeStack.Push(returnStatement.Expression);
			returnStatement.Expression.AcceptVisitor(this, data);
			returnStatement.Expression = ((Expression)(nodeStack.Pop()));
			

⌨️ 快捷键说明

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