|  | // Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  | package com.android.tools.r8.debuginfo; | 
|  |  | 
|  | import java.util.Arrays; | 
|  | import java.util.Iterator; | 
|  |  | 
|  | // Copy of Regress111337896Test.java modified to hit the trivial loop issue. | 
|  | public class Regress129901036Test { | 
|  |  | 
|  | public static void regress129901036() { | 
|  | Iterator it = Arrays.asList(new Object()).iterator(); | 
|  | while (it.hasNext()) { // Loop must be a conditional to hit the issue. | 
|  | it.next(); | 
|  | try { | 
|  | noThrow(); | 
|  | noThrow(); | 
|  | noThrow(); | 
|  | // Workaround failed to handle a trivial loop when searching for a possible loop header. | 
|  | } catch (Exception e) { while (true); } | 
|  | // The normal successor may differ from the exceptional one and still cause the issue. | 
|  | it.hasNext(); | 
|  | } | 
|  | } | 
|  |  | 
|  | public static void noThrow() throws Exception { | 
|  | // Intentionally empty. | 
|  | } | 
|  |  | 
|  | public static void main(String[] args) { | 
|  | regress129901036(); | 
|  | System.out.print("aok"); | 
|  | } | 
|  | } |