blob: 019759c0a954f3cdc2caf8990a87c6368e61781d [file] [log] [blame]
// Copyright (c) 2018, 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.shaking.ifrule;
class D1 {
}
class D2 {
}
class D {
}
class R1 {
public static int id1 = System.currentTimeMillis() >= 0 ? 1 : 0;
public static int id2 = System.currentTimeMillis() >= 0 ? 2 : 0;
}
class R2 {
public static int id1 = System.currentTimeMillis() >= 0 ? 1 : 0;
public static int id2 = System.currentTimeMillis() >= 0 ? 2 : 0;
}
class R {
public static int id1 = System.currentTimeMillis() >= 0 ? 1 : 0;
public static int id2 = System.currentTimeMillis() >= 0 ? 2 : 0;
}
interface I {
void ack();
}
class Impl implements I {
private int usedPrivateIntField;
private int unusedPrivateIntField;
public int unusedPublicIntField;
public String unusedPublicStringField;
public void ack() {
System.out.println("ack(" + usedPrivateIntField++ + ")");
}
}
class MainUsesR {
public static void main(String[] args) {
System.out.println(R.id1);
//System.out.println(R.id2);
}
}
class MainWithIf {
public static void main(String[] args) {
if (false) {
System.out.println(R1.id1);
System.out.println(R1.id2);
} else {
System.out.println(R2.id1);
System.out.println(R2.id2);
}
}
}
class MainWithInner {
public static class InnerR {
public static int id1 = System.currentTimeMillis() >= 0 ? 1 : 0;
public static int id2 = System.currentTimeMillis() >= 0 ? 2 : 0;
}
public static class InnerD {
}
public static void main(String[] args) {
System.out.println(InnerR.id1);
System.out.println(InnerR.id2);
}
}
class MainUsesImpl {
public static void main(String[] args) {
I instance = new Impl();
instance.ack();
}
}