Backport Optional/OptionalInt/OptionalLong/OptionalDouble.orElseThrow()
Test: tools/test.py --dex_vm all --no-internal -v *Backport*Test*
Test: tools/test.py --no-internal -v *GenerateBackportMethods*
Change-Id: I6b1e9c09f033c4a1fe95c939fdef02095ef8d5a1
diff --git a/src/test/examplesJava10/backport/OptionalIntBackportJava10Main.java b/src/test/examplesJava10/backport/OptionalIntBackportJava10Main.java
new file mode 100644
index 0000000..06c85f5
--- /dev/null
+++ b/src/test/examplesJava10/backport/OptionalIntBackportJava10Main.java
@@ -0,0 +1,32 @@
+// 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 backport;
+
+import java.util.NoSuchElementException;
+import java.util.OptionalInt;
+
+public final class OptionalIntBackportJava10Main {
+
+ public static void main(String[] args) {
+ testOrElseThrow();
+ }
+
+ private static void testOrElseThrow() {
+ OptionalInt present = OptionalInt.of(2);
+ assertEquals(2, present.orElseThrow());
+
+ OptionalInt absent = OptionalInt.empty();
+ try {
+ throw new AssertionError(absent.orElseThrow());
+ } catch (NoSuchElementException expected) {
+ }
+ }
+
+ private static void assertEquals(Object expected, Object actual) {
+ if (expected != actual && !expected.equals(actual)) {
+ throw new AssertionError("Expected <" + expected + "> but was <" + actual + ">");
+ }
+ }
+}