📄 abstractasttransformer.cs
字号:
nodeStack.Push(o); o.AcceptVisitor(this, data); o = (Statement)nodeStack.Pop(); if (o == null) ifElseStatement.TrueStatement.RemoveAt(i--); else ifElseStatement.TrueStatement[i] = o; }
for (int i = 0; i < ifElseStatement.FalseStatement.Count; i++) { Statement o = ifElseStatement.FalseStatement[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (Statement)nodeStack.Pop(); if (o == null) ifElseStatement.FalseStatement.RemoveAt(i--); else ifElseStatement.FalseStatement[i] = o; }
for (int i = 0; i < ifElseStatement.ElseIfSections.Count; i++) { ElseIfSection o = ifElseStatement.ElseIfSections[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (ElseIfSection)nodeStack.Pop(); if (o == null) ifElseStatement.ElseIfSections.RemoveAt(i--); else ifElseStatement.ElseIfSections[i] = o; }
return null;
}
public virtual object VisitIndexerDeclaration(IndexerDeclaration indexerDeclaration, object data) {
Debug.Assert((indexerDeclaration != null));
Debug.Assert((indexerDeclaration.Attributes != null));
Debug.Assert((indexerDeclaration.Parameters != null));
Debug.Assert((indexerDeclaration.InterfaceImplementations != null));
Debug.Assert((indexerDeclaration.TypeReference != null));
Debug.Assert((indexerDeclaration.GetRegion != null));
Debug.Assert((indexerDeclaration.SetRegion != null));
for (int i = 0; i < indexerDeclaration.Attributes.Count; i++) { AttributeSection o = indexerDeclaration.Attributes[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (AttributeSection)nodeStack.Pop(); if (o == null) indexerDeclaration.Attributes.RemoveAt(i--); else indexerDeclaration.Attributes[i] = o; }
for (int i = 0; i < indexerDeclaration.Parameters.Count; i++) { ParameterDeclarationExpression o = indexerDeclaration.Parameters[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (ParameterDeclarationExpression)nodeStack.Pop(); if (o == null) indexerDeclaration.Parameters.RemoveAt(i--); else indexerDeclaration.Parameters[i] = o; }
for (int i = 0; i < indexerDeclaration.InterfaceImplementations.Count; i++) { InterfaceImplementation o = indexerDeclaration.InterfaceImplementations[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (InterfaceImplementation)nodeStack.Pop(); if (o == null) indexerDeclaration.InterfaceImplementations.RemoveAt(i--); else indexerDeclaration.InterfaceImplementations[i] = o; }
nodeStack.Push(indexerDeclaration.TypeReference);
indexerDeclaration.TypeReference.AcceptVisitor(this, data);
indexerDeclaration.TypeReference = ((TypeReference)(nodeStack.Pop()));
nodeStack.Push(indexerDeclaration.GetRegion);
indexerDeclaration.GetRegion.AcceptVisitor(this, data);
indexerDeclaration.GetRegion = ((PropertyGetRegion)(nodeStack.Pop()));
nodeStack.Push(indexerDeclaration.SetRegion);
indexerDeclaration.SetRegion.AcceptVisitor(this, data);
indexerDeclaration.SetRegion = ((PropertySetRegion)(nodeStack.Pop()));
return null;
}
public virtual object VisitIndexerExpression(IndexerExpression indexerExpression, object data) {
Debug.Assert((indexerExpression != null));
Debug.Assert((indexerExpression.TargetObject != null));
Debug.Assert((indexerExpression.Indexes != null));
nodeStack.Push(indexerExpression.TargetObject);
indexerExpression.TargetObject.AcceptVisitor(this, data);
indexerExpression.TargetObject = ((Expression)(nodeStack.Pop()));
for (int i = 0; i < indexerExpression.Indexes.Count; i++) { Expression o = indexerExpression.Indexes[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (Expression)nodeStack.Pop(); if (o == null) indexerExpression.Indexes.RemoveAt(i--); else indexerExpression.Indexes[i] = o; }
return null;
}
public virtual object VisitInnerClassTypeReference(InnerClassTypeReference innerClassTypeReference, object data) {
Debug.Assert((innerClassTypeReference != null));
Debug.Assert((innerClassTypeReference.GenericTypes != null));
Debug.Assert((innerClassTypeReference.BaseType != null));
for (int i = 0; i < innerClassTypeReference.GenericTypes.Count; i++) { TypeReference o = innerClassTypeReference.GenericTypes[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (TypeReference)nodeStack.Pop(); if (o == null) innerClassTypeReference.GenericTypes.RemoveAt(i--); else innerClassTypeReference.GenericTypes[i] = o; }
nodeStack.Push(innerClassTypeReference.BaseType);
innerClassTypeReference.BaseType.AcceptVisitor(this, data);
innerClassTypeReference.BaseType = ((TypeReference)(nodeStack.Pop()));
return null;
}
public virtual object VisitInterfaceImplementation(InterfaceImplementation interfaceImplementation, object data) {
Debug.Assert((interfaceImplementation != null));
Debug.Assert((interfaceImplementation.InterfaceType != null));
nodeStack.Push(interfaceImplementation.InterfaceType);
interfaceImplementation.InterfaceType.AcceptVisitor(this, data);
interfaceImplementation.InterfaceType = ((TypeReference)(nodeStack.Pop()));
return null;
}
public virtual object VisitInvocationExpression(InvocationExpression invocationExpression, object data) {
Debug.Assert((invocationExpression != null));
Debug.Assert((invocationExpression.TargetObject != null));
Debug.Assert((invocationExpression.Arguments != null));
Debug.Assert((invocationExpression.TypeArguments != null));
nodeStack.Push(invocationExpression.TargetObject);
invocationExpression.TargetObject.AcceptVisitor(this, data);
invocationExpression.TargetObject = ((Expression)(nodeStack.Pop()));
for (int i = 0; i < invocationExpression.Arguments.Count; i++) { Expression o = invocationExpression.Arguments[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (Expression)nodeStack.Pop(); if (o == null) invocationExpression.Arguments.RemoveAt(i--); else invocationExpression.Arguments[i] = o; }
for (int i = 0; i < invocationExpression.TypeArguments.Count; i++) { TypeReference o = invocationExpression.TypeArguments[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (TypeReference)nodeStack.Pop(); if (o == null) invocationExpression.TypeArguments.RemoveAt(i--); else invocationExpression.TypeArguments[i] = o; }
return null;
}
public virtual object VisitLabelStatement(LabelStatement labelStatement, object data) {
Debug.Assert((labelStatement != null));
return null;
}
public virtual object VisitLocalVariableDeclaration(LocalVariableDeclaration localVariableDeclaration, object data) {
Debug.Assert((localVariableDeclaration != null));
Debug.Assert((localVariableDeclaration.TypeReference != null));
Debug.Assert((localVariableDeclaration.Variables != null));
nodeStack.Push(localVariableDeclaration.TypeReference);
localVariableDeclaration.TypeReference.AcceptVisitor(this, data);
localVariableDeclaration.TypeReference = ((TypeReference)(nodeStack.Pop()));
for (int i = 0; i < localVariableDeclaration.Variables.Count; i++) { VariableDeclaration o = localVariableDeclaration.Variables[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (VariableDeclaration)nodeStack.Pop(); if (o == null) localVariableDeclaration.Variables.RemoveAt(i--); else localVariableDeclaration.Variables[i] = o; }
return null;
}
public virtual object VisitLockStatement(LockStatement lockStatement, object data) {
Debug.Assert((lockStatement != null));
Debug.Assert((lockStatement.LockExpression != null));
Debug.Assert((lockStatement.EmbeddedStatement != null));
nodeStack.Push(lockStatement.LockExpression);
lockStatement.LockExpression.AcceptVisitor(this, data);
lockStatement.LockExpression = ((Expression)(nodeStack.Pop()));
nodeStack.Push(lockStatement.EmbeddedStatement);
lockStatement.EmbeddedStatement.AcceptVisitor(this, data);
lockStatement.EmbeddedStatement = ((Statement)(nodeStack.Pop()));
return null;
}
public virtual object VisitMethodDeclaration(MethodDeclaration methodDeclaration, object data) {
Debug.Assert((methodDeclaration != null));
Debug.Assert((methodDeclaration.Attributes != null));
Debug.Assert((methodDeclaration.Parameters != null));
Debug.Assert((methodDeclaration.TypeReference != null));
Debug.Assert((methodDeclaration.Body != null));
Debug.Assert((methodDeclaration.InterfaceImplementations != null));
Debug.Assert((methodDeclaration.Templates != null));
for (int i = 0; i < methodDeclaration.Attributes.Count; i++) { AttributeSection o = methodDeclaration.Attributes[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (AttributeSection)nodeStack.Pop(); if (o == null) methodDeclaration.Attributes.RemoveAt(i--); else methodDeclaration.Attributes[i] = o; }
for (int i = 0; i < methodDeclaration.Parameters.Count; i++) { ParameterDeclarationExpression o = methodDeclaration.Parameters[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (ParameterDeclarationExpression)nodeStack.Pop(); if (o == null) methodDeclaration.Parameters.RemoveAt(i--); else methodDeclaration.Parameters[i] = o; }
nodeStack.Push(methodDeclaration.TypeReference);
methodDeclaration.TypeReference.AcceptVisitor(this, data);
methodDeclaration.TypeReference = ((TypeReference)(nodeStack.Pop()));
nodeStack.Push(methodDeclaration.Body);
methodDeclaration.Body.AcceptVisitor(this, data);
methodDeclaration.Body = ((BlockStatement)(nodeStack.Pop()));
for (int i = 0; i < methodDeclaration.InterfaceImplementations.Count; i++) { InterfaceImplementation o = methodDeclaration.InterfaceImplementations[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (InterfaceImplementation)nodeStack.Pop(); if (o == null) methodDeclaration.InterfaceImplementations.RemoveAt(i--); else methodDeclaration.InterfaceImplementations[i] = o; }
for (int i = 0; i < methodDeclaration.Templates.Count; i++) { TemplateDefinition o = methodDeclaration.Templates[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (TemplateDefinition)nodeStack.Pop(); if (o == null) methodDeclaration.Templates.RemoveAt(i--); else methodDeclaration.Templates[i] = o; }
return null;
}
public virtual object VisitNamedArgumentExpression(NamedArgumentExpression namedArgumentExpression, object data) {
Debug.Assert((namedArgumentExpression != null));
Debug.Assert((namedArgumentExpression.Expression != null));
nodeStack.Push(namedArgumentExpression.Expression);
namedArgumentExpression.Expression.AcceptVisitor(this, data);
namedArgumentExpression.Expression = ((Expression)(nodeStack.Pop()));
return null;
}
public virtual object VisitNamespaceDeclaration(NamespaceDeclaration namespaceDeclaration, object data) {
Debug.Assert((namespaceDeclaration != null));
for (int i = 0; i < namespaceDeclaration.Children.Count; i++) { INode o = namespaceDeclaration.Children[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = nodeStack.Pop(); if (o == null) namespaceDeclaration.Children.RemoveAt(i--); else namespaceDeclaration.Children[i] = o; }
return null;
}
public virtual object VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression, object data) {
Debug.Assert((objectCreateExpression != null));
Debug.Assert((objectCreateExpression.CreateType != null));
Debug.Assert((objectCreateExpression.Parameters != null));
nodeStack.Push(objectCreateExpression.CreateType);
objectCreateExpression.CreateType.AcceptVisitor(this, data);
objectCreateExpression.CreateType = ((TypeReference)(nodeStack.Pop()));
for (int i = 0; i < objectCreateExpression.Parameters.Count; i++) { Expression o = objectCreateExpression.Parameters[i]; Debug.Assert(o != null); nodeStack.Push(o); o.AcceptVisitor(this, data); o = (Expression)nodeStack.Pop(); if (o == null)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -