aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Tobias Werth <twerth@google.com>2018-08-14 07:16:52 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-14 07:18:02 -0700
commita05e6ccdba85f5e827245aa581accd2867e40851 (patch)
treeb139618c7293d9aeebbb23562952adc7137e60f1 /src
parent30f04a1f9c98ad2536df338bdcb1b67a168c4190 (diff)
Explicitly cast ByteBuffer in clear() call to Buffer.
This works around the following error: java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer; at com.google.devtools.build.lib.profiler.Profiler$BinaryFormatWriter.run(Profiler.java:949) at java.lang.Thread.run(Thread.java:748) JDK 9 introduced an overloaded methods with covariant return type. Closes #5886. PiperOrigin-RevId: 208642556
Diffstat (limited to 'src')
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/profiler/Profiler.java3
2 files changed, 4 insertions, 3 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java b/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java
index 87910efaee..d263e30225 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/java/bazel/BazelJavaCompiler.java
@@ -76,10 +76,10 @@ public class BazelJavaCompiler {
private static class LangtoolsClassLoader extends URLClassLoader {
public LangtoolsClassLoader() throws MalformedURLException {
- super(new URL[] {getLangtoolsJar().toURI().toURL()}, getPlatformClassLoader());
+ super(new URL[] {getLangtoolsJar().toURI().toURL()}, getPlatformClassLoaderInternal());
}
- private static ClassLoader getPlatformClassLoader() {
+ private static ClassLoader getPlatformClassLoaderInternal() {
try {
return (ClassLoader) ClassLoader.class.getMethod("getPlatformClassLoader").invoke(null);
} catch (ReflectiveOperationException e) {
diff --git a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
index fb64aa2a31..11f28965b3 100644
--- a/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
+++ b/src/main/java/com/google/devtools/build/lib/profiler/Profiler.java
@@ -32,6 +32,7 @@ import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
+import java.nio.Buffer;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
@@ -946,7 +947,7 @@ public final class Profiler {
ObjectDescriber describer = new ObjectDescriber();
TaskData data;
while ((data = queue.take()) != POISON_PILL) {
- sink.clear();
+ ((Buffer) sink).clear();
VarInt.putVarLong(data.threadId, sink);
VarInt.putVarInt(data.id, sink);