public BlockStatement Process(DecompilationContext context, BlockStatement body) { DependsOnAnalysisVisitor visitor = new DependsOnAnalysisVisitor(context.MethodContext.AnalysisResults.TypesDependingOn, context.MethodContext.AnalysisResults.AmbiguousCastsToObject); visitor.Visit(body); if (context.TypeContext.FieldAssignmentData != null) { foreach (FieldInitializationAssignment fieldAsssignment in context.TypeContext.FieldAssignmentData.Values) { visitor.Visit(fieldAsssignment.AssignmentExpression); } } return(body); }
public BlockStatement Process(DecompilationContext context, BlockStatement body) { V_0 = new DependsOnAnalysisVisitor(context.get_MethodContext().get_AnalysisResults().get_TypesDependingOn(), context.get_MethodContext().get_AnalysisResults().get_AmbiguousCastsToObject()); V_0.Visit(body); if (context.get_TypeContext().get_AssignmentData() != null) { V_1 = context.get_TypeContext().get_AssignmentData().get_Values().GetEnumerator(); try { while (V_1.MoveNext()) { V_2 = V_1.get_Current(); V_0.Visit(V_2.get_AssignmentExpression()); } } finally { ((IDisposable)V_1).Dispose(); } } return(body); }