1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
Description: Fixes the compatibility with Java 17
Author: Emmanuel Bourg <ebourg@apache.org>
Forwarded: not-needed
--- a/platform/util/src/com/intellij/util/containers/FilteredTraverserBase.java
+++ b/platform/util/src/com/intellij/util/containers/FilteredTraverserBase.java
@@ -256,7 +256,7 @@
return JBIterable.empty();
}
else if (myMeta.regard.next == null && myMeta.forceDisregard.next == null) {
- return JBIterable.from(myTree.fun(node)).filter(not(myMeta.forceIgnore.OR));
+ return (JBIterable) JBIterable.from(myTree.fun(node)).filter(not(myMeta.forceIgnore.OR));
}
else {
// traverse subtree to select accepted children
--- a/platform/util/src/com/intellij/util/SmartFMap.java
+++ b/platform/util/src/com/intellij/util/SmartFMap.java
@@ -19,7 +19,6 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import javax.annotation.Generated;
import java.util.*;
/**
@@ -262,7 +261,6 @@
}
// copied from AbstractMap
- @Generated("from AbstractMap")
public String toString() {
Iterator<Entry<K,V>> i = entrySet().iterator();
if (! i.hasNext())
--- a/platform/util/src/com/intellij/util/io/DirectBufferWrapper.java
+++ b/platform/util/src/com/intellij/util/io/DirectBufferWrapper.java
@@ -19,9 +19,7 @@
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.util.concurrency.AtomicFieldUpdater;
-import sun.misc.Cleaner;
import sun.misc.Unsafe;
-import sun.nio.ch.DirectBuffer;
import java.io.File;
import java.io.IOException;
@@ -81,12 +79,18 @@
}
}
try {
- Cleaner cleaner = ((DirectBuffer)buffer).cleaner();
- if (cleaner != null) cleaner.clean(); // Already cleaned otherwise
+ Class directBufferClass = Class.forName("sun.nio.ch.DirectBuffer");
+ Method cleanerAccessor = directBufferClass.getMethod("cleaner");
+ Object cleaner = cleanerAccessor.invoke(buffer);
+ if (cleaner != null) {
+ Class cleanerClass = Class.forName("sun.misc.Cleaner");
+ Method clean = cleanerClass.getMethod("clean");
+ clean.invoke(cleaner);
+ }
return true;
}
catch (Throwable e) {
return false;
}
}
-}
\ No newline at end of file
+}
--- a/platform/core-impl/src/com/intellij/concurrency/ConcurrentHashMap.java
+++ b/platform/core-impl/src/com/intellij/concurrency/ConcurrentHashMap.java
@@ -27,7 +27,6 @@
import gnu.trove.TObjectHashingStrategy;
import org.jetbrains.annotations.NotNull;
-import javax.annotation.Generated;
import java.io.ObjectStreamField;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
@@ -48,7 +47,6 @@
// Null keys are NOT allowed
// Null values are NOT allowed
// NOT serializable
-@Generated("to turn off inspections")
/**
* A hash table supporting full concurrency of retrievals and
@@ -2420,7 +2418,7 @@
* A padded cell for distributing counts. Adapted from LongAdder
* and Striped64. See their internal docs for explanation.
*/
- @sun.misc.Contended static final class CounterCell {
+ static final class CounterCell {
volatile long value;
CounterCell(long x) { value = x; }
}
--- a/platform/core-impl/src/com/intellij/concurrency/Helpers.java
+++ b/platform/core-impl/src/com/intellij/concurrency/Helpers.java
@@ -21,10 +21,8 @@
* explained at http://creativecommons.org/publicdomain/zero/1.0/
*/
-import javax.annotation.Generated;
import java.util.Collection;
-@Generated("to turn off inspections")
/** Shared implementation code for java.util.concurrent. */
class Helpers {
--- a/platform/util/src/com/intellij/util/text/CharArrayUtil.java
+++ b/platform/util/src/com/intellij/util/text/CharArrayUtil.java
@@ -77,9 +77,9 @@
else if (src instanceof CharBuffer) {
final CharBuffer buffer = (CharBuffer)src;
final int i = buffer.position();
- buffer.position(i + srcOffset);
+ ((java.nio.Buffer) buffer).position(i + srcOffset);
buffer.get(dst, dstOffset, len);
- buffer.position(i);
+ ((java.nio.Buffer) buffer).position(i);
return;
}
else if (src instanceof CharSequenceBackedByArray) {
|