aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMikaƫl Peltier <mikaelpeltier@google.com>2017-10-03 18:03:30 +0200
committerMikael Peltier <mikaelpeltier@google.com>2017-10-03 16:05:42 +0000
commitccafacdda126fdd00e62e98b0d96e4495e608cd7 (patch)
treebe2cc4967a85743f49e7a2cf665b81b496361012 /src
parent84967aad9d4c3a876343bc2967e5450618d9628a (diff)
downloadr8-ccafacdda126fdd00e62e98b0d96e4495e608cd7.tar.gz
Add latest api level support
- The dex version used for an api version greater than the last known will be the version of the latest Android released. Change-Id: Ieb57eb102efbcc200840f55f7ef0fc8b4d89f67e
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java6
-rw-r--r--src/main/java/com/android/tools/r8/utils/DexVersion.java1
2 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java b/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
index b1bdfde11..47bd02e5f 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java
@@ -9,6 +9,7 @@ import com.android.tools.r8.errors.Unreachable;
* Android API level description
*/
public enum AndroidApiLevel {
+ LATEST(-1),
P(27),
O(26),
N_MR1(25),
@@ -76,6 +77,9 @@ public enum AndroidApiLevel {
public static AndroidApiLevel getAndroidApiLevel(int apiLevel) {
switch (apiLevel) {
+ case 0:
+ // 0 is not supported, it should not happen
+ throw new Unreachable();
case 1:
return B;
case 2:
@@ -131,7 +135,7 @@ public enum AndroidApiLevel {
case 27:
return P;
default:
- throw new Unreachable();
+ return LATEST;
}
}
}
diff --git a/src/main/java/com/android/tools/r8/utils/DexVersion.java b/src/main/java/com/android/tools/r8/utils/DexVersion.java
index e45a0dc1a..c9fa81856 100644
--- a/src/main/java/com/android/tools/r8/utils/DexVersion.java
+++ b/src/main/java/com/android/tools/r8/utils/DexVersion.java
@@ -50,6 +50,7 @@ public enum DexVersion {
switch (androidApiLevel) {
case P:
return DexVersion.V39;
+ case LATEST:
case O:
return DexVersion.V38;
case N_MR1: