protected AssignmentType AnalyzeAssignmentType(BaseUsageFinder usageFinder) { this.PrepareNodes(); V_0 = new AssignmentAnalyzer(usageFinder, this.context.get_MethodContext().get_Expressions()); V_1 = V_0.CheckAssignmentType(this.mappedNodes[0]); if (V_1 == 1) { return(1); } V_2 = V_1; V_3 = new List <ExceptionHandler>(this.context.get_MethodContext().get_ControlFlowGraph().get_RawExceptionHandlers()); do { V_4 = V_3.get_Count(); V_5 = 0; while (V_5 < V_3.get_Count()) { V_6 = V_3.get_Item(V_5); if (this.GetNodeFromBlockOffset(V_6.get_TryStart().get_Offset()).get_NodeState() != AssignmentNodeState.Unknown) { stackVariable41 = V_5; V_5 = stackVariable41 - 1; V_3.RemoveAt(stackVariable41); this.CheckHandler(this.GetNodeFromBlockOffset(V_6.get_HandlerStart().get_Offset()), V_0, ref V_2); if (V_2 == 1) { return(1); } if (V_6.get_HandlerType() == 1) { this.CheckHandler(this.GetNodeFromBlockOffset(V_6.get_FilterStart().get_Offset()), V_0, ref V_2); if (V_2 == 1) { return(1); } } } V_5 = V_5 + 1; } }while (V_4 != V_3.get_Count()); return(V_2); }