File: java17-compatibility.patch

package info (click to toggle)
intellij-community-idea 183.5153.4-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 178,408 kB
  • sloc: java: 2,023,773; xml: 78,706; ansic: 2,742; cpp: 1,688; javascript: 1,657; objc: 1,316; sh: 724; perl: 221; ruby: 102; python: 87; makefile: 7
file content (121 lines) | stat: -rw-r--r-- 4,276 bytes parent folder | download | duplicates (2)
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) {