public BlockStatement Process(DecompilationContext context, BlockStatement body) { this.context = context; V_0 = context.get_MethodContext().get_Method().get_Module().get_TypeSystem(); this.operatorStep = new OperatorStep(this, V_0); this.removePIDStep = new RemovePrivateImplementationDetailsStep(V_0); this.rebuildEventsStep = new RebuildEventsStep(V_0); this.propertyRecognizer = new PropertyRecognizer(V_0, context.get_TypeContext(), context.get_Language()); this.rebuildAnonymousInitializersStep = new RebuildAnonymousTypesInitializersStep(this, V_0); this.fixSwitchConditionStep = new FixSwitchConditionStep(context); this.replaceThisWithBaseStep = new HandleVirtualMethodInvocations(this.context.get_MethodContext().get_Method()); return((BlockStatement)this.VisitBlockStatement(body)); }