jdk

Форк
0
/
RestrictedMethods.java 
56 строк · 2.0 Кб
1
/*
2
 * @test /nodynamiccopyright/
3
 * @bug 8316971
4
 * @summary Smoke test for restricted method call warnings
5
 * @compile/fail/ref=RestrictedMethods.out -Xlint:restricted -Werror -XDrawDiagnostics RestrictedMethods.java
6
 * @compile/fail/ref=RestrictedMethods.out --release ${jdk.version} -Xlint:restricted -Werror -XDrawDiagnostics RestrictedMethods.java
7
 * @compile -Werror RestrictedMethods.java
8
 */
9

10
import java.lang.foreign.MemorySegment;
11
import java.util.function.Function;
12

13
class RestrictedMethods {
14

15
    MemorySegment warn = MemorySegment.NULL.reinterpret(10); // warning here
16
    @SuppressWarnings("restricted")
17
    MemorySegment suppressed = MemorySegment.NULL.reinterpret(10); // no warning here
18

19
    Function<Integer, MemorySegment> warn_ref = MemorySegment.NULL::reinterpret; // warning here
20

21
    @SuppressWarnings("restricted")
22
    Function<Integer, MemorySegment> suppressed_ref = MemorySegment.NULL::reinterpret; // no warning here
23

24
    void testWarn() {
25
        MemorySegment.NULL.reinterpret(10); // warning here
26
    }
27

28
    @SuppressWarnings("restricted")
29
    void testSuppressed() {
30
        MemorySegment.NULL.reinterpret(10); // no warning here
31
    }
32

33
    Function<Integer, MemorySegment> testWarnRef() {
34
        return MemorySegment.NULL::reinterpret; // warning here
35
    }
36

37
    @SuppressWarnings("restricted")
38
    Function<Integer, MemorySegment> testSuppressedRef() {
39
        return MemorySegment.NULL::reinterpret; // no warning here
40
    }
41

42
    @SuppressWarnings("restricted")
43
    static class Nested {
44
        MemorySegment suppressedNested = MemorySegment.NULL.reinterpret(10); // no warning here
45

46
        Function<Integer, MemorySegment> suppressedNested_ref = MemorySegment.NULL::reinterpret; // no warning here
47

48
        void testSuppressedNested() {
49
            MemorySegment.NULL.reinterpret(10); // no warning here
50
        }
51

52
        Function<Integer, MemorySegment> testSuppressedNestedRef() {
53
            return MemorySegment.NULL::reinterpret; // no warning here
54
        }
55
    }
56
}
57

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.