| // Copyright (c) 2017, 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; | |
| public class LiveInAllBlocksTest { | |
| public static int foo(int x) { | |
| if (x % 2 == 0) { | |
| int y; | |
| switch (x) { | |
| case 2: | |
| y = 1; | |
| break; | |
| default: | |
| case 4: | |
| y = 2; | |
| break; | |
| case 6: | |
| y = 3; | |
| break; // javac does not produce a line entry here. | |
| } | |
| if (x % 4 == 0) { | |
| if (x > 0) { | |
| y += 10; | |
| } | |
| if (x < 0) { | |
| y += -10; | |
| } | |
| if (x == 0) { | |
| x++; | |
| } | |
| } else { | |
| if (x > 0) { | |
| y += 20; | |
| } | |
| if (x < 0) { | |
| y += -20; | |
| } | |
| if (x == 0) { | |
| x++; | |
| } | |
| } | |
| } | |
| return x; | |
| } | |
| public static void main(String[] args) { | |
| System.out.print(LiveInAllBlocksTest.foo(42)); | |
| } | |
| } |