Adding tests to check Java 11 language features

Bug: 207852002
Test: m
Test: EXPERIMENTAL_TARGET_JAVA_VERSION_11=true m
Test: atest CtsLibcoreTestCases:libcore/luni/src/test/java11language/java/libcore/libcore/internal/Java11LanguageFeaturesTest

Change-Id: If3bab4c5e6eafd40c80fa250f2b94632825c7211
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index e5aa957..4838a11 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -192,6 +192,12 @@
         ":okhttp_impl_files",
     ],
 
+    // Only add Java11LanguageFeatures if EXPERIMENTAL_TARGET_JAVA_VERSION_11
+    // flag is set to true
+    openjdk11: {
+        srcs: ["luni/src/main/java/libcore/internal/Java11LanguageFeatures.java"],
+    },
+
     sdk_version: "none",
     system_modules: "none",
     patch_module: "java.base",
@@ -317,6 +323,12 @@
 
     srcs: [":core_libart_java_files"],
 
+    // Only add Java11LanguageFeatures if EXPERIMENTAL_TARGET_JAVA_VERSION_11
+    // flag is set to true
+    openjdk11: {
+        srcs: ["luni/src/main/java/libcore/internal/Java11LanguageFeatures.java"],
+    },
+
     sdk_version: "none",
     system_modules: "core-all-system-modules",
     patch_module: "java.base",
@@ -565,6 +577,14 @@
     visibility: ["//libcore/luni/src/test/java9language"],
 }
 
+// A filegroup that provides access to a source file for a toolchain test that
+// checks Java 11 language features are handled properly by JarJar.
+filegroup {
+    name: "core-java-11-language-features-source",
+    srcs: ["luni/src/main/java/libcore/internal/Java11LanguageFeatures.java"],
+    visibility: ["//libcore/luni/src/test/java11language"],
+}
+
 genrule {
     name: "core-tests-smali-dex",
     srcs: ["luni/src/test/java/**/*.smali"],
@@ -636,6 +656,7 @@
     static_libs: [
         "core-compat-test-rules",
         "core-java-9-language-tests",
+        "core-java-11-language-tests",
         "core-test-rules",
         "core-tests-support",
         "junit-params",