blob: 010d51763340f138fdafc589d9b99055b60cb562 [file] [log] [blame]
// 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 LocalsInSwitchTest {
public static int noLocals(int x) {
switch (x) {
case 0:
return 0;
case 1:
return 1;
default:
return noLocals(x - 1) + noLocals(x - 2);
}
}
public static int tempInCase(int x) {
int res = 0;
for (int i = 0; i < x; ++i) {
int rem = x - i;
switch (rem) {
case 1:
return res;
case 5:
int tmp = res + x + i;
res += tmp;
break;
case 10:
i++;
break;
default:
res += rem;
}
res += rem % 2;
}
res *= x;
return res;
}
public static int initInCases(int x) {
Integer res;
switch (x % 3) {
case 0:
res = 42;
case 1:
res = x;
case 2:
default:
res = x * x;
}
return res + 1;
}
public static void main(String[] args) {
System.out.println(noLocals(10));
System.out.println(tempInCase(42));
System.out.println(initInCases(123));
}
}