blob: d783fc0e643d617d95bb6d555dc451a7c180c2b1 [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 annotationremoval;
public class OuterClass {
public class InnerClass {
private int value;
public InnerClass(int x) {
this.value = x;
}
int computeAResult(int y) {
int result = 1;
for (int i = value; i < y; i++) {
result++;
if (result == 1) {
return result;
}
}
return value * y;
}
}
public abstract class MagicClass {
public abstract int returnAnInt();
}
public int getValueFromInner(int x) {
class LocalMagic extends MagicClass {
@Override
public int returnAnInt() {
return 123;
}
}
InnerClass inner = new InnerClass(x);
MagicClass magic = new MagicClass() {
@Override
public int returnAnInt() {
return 124;
}
};
MagicClass localMagic = new LocalMagic();
return inner.computeAResult(42) + magic.returnAnInt() + localMagic.returnAnInt();
}
}