Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic Nullness Checker configuration #3183

Merged
merged 48 commits into from
May 2, 2024
Merged

Conversation

wmdietl
Copy link
Contributor

@wmdietl wmdietl commented Jun 26, 2023

This integrates the Nullness Checker into ./gradlew compileJava.

The line "-AonlyDefs=^org\\.key_project\\.util\\.lookup" says that only elements in the org.key_project.util.lookup package should be checked.
I only did a quick annotation of that file, which might need to change when more sources are checked.

@github-actions
Copy link

github-actions bot commented Jun 26, 2023

Thank you for your contribution.

The test artifacts are available on Artiweb.
The newest artifact is here.

@mattulbrich
Copy link
Member

mattulbrich commented Jun 26, 2023

It seems that NullMarked sets the default to NonNull.

I think we could need another annotation: If there is no annotation, then the class is excluded from checking, and an annotation like @NonNullChecked activates nullness checking. Is there something like that (sounds like the complement of @SuppressWarning{"nullness"})?

Is it possible to have the checker framework as an extra step outside compileJava?

(not all checks are successful and need some more discussion!)
with Werner and Alexander
@FliegendeWurst FliegendeWurst added the Infrastructure Changes to the Github configurations, repository or other non-source stuff label Jul 9, 2023
wadoon added 2 commits July 21, 2023 00:50
* origin/main: (65 commits)
  Remove unnecessary parentheses in JmlLexer
  Remove dead code
  Harmonize action and status bar labels
  All layout actions in one sub-menu
  Add shortcut key for last layout action
  Revert "Move layout controls to menu"
  Document 'minimize interactions' correctly
  Show SMT solver info in text area
  Consider divider width in layout
  Disable rearrangement of toolbar
  Fix extension panels not showing up sometimes
  Move layout controls to menu
  Make exploration extension experimental
  Spotless
  Fix broken test case for free conditions on block contracts
  Fix InvariantConfigurator
  repairs on the KeYParser
  Check for popup on all needed events
  Move action history button to main toolbar
  Set location of all dialogs relative to parent
  ...

# Conflicts:
#	key.util/src/main/java/org/key_project/util/java/StringUtil.java
@wadoon
Copy link
Member

wadoon commented Jul 20, 2023

Added a system property which enables the nullness checker. See settings.gradle

@wadoon
Copy link
Member

wadoon commented Jul 20, 2023

@wmdietl Following @NonNull KeYParser.String_valueContext ctx results into an error message:

/home/weigl/work/key/key.core/src/main/java/de/uka/ilkd/key/nparser/builder/ExpressionBuilder.java:1553: error: scoping construct cannot be annotated with type-use annotation: @org.jspecify.annotations.Nullable
    private @Nullable Term[] visitArguments(@Nullable KeYParser.Argument_listContext call) {

Why is there a problem? The inner class is static.

Edit: The correct version is KeYParser. @NonNull String_valueContext ctx

@wadoon wadoon added this to the v2.14.0 milestone Jul 21, 2023
flo2702 and others added 4 commits November 22, 2023 19:45
* main: (63 commits)
  Bump org.junit.vintage:junit-vintage-engine from 5.10.1 to 5.10.2
  Make caching more robust by catching exceptions
  Fix caching bug where an exception was thrown
  Transparent proof caching icon
  Bump org.junit.jupiter:junit-jupiter-engine from 5.10.1 to 5.10.2
  Bump org.junit.jupiter:junit-jupiter-api from 5.10.1 to 5.10.2
  Init new settings with last read config
  Always sort extension actions in context submenus
  New proof context menu action to cache open goals
  Bump com.diffplug.spotless from 6.24.0 to 6.25.0
  Move caching settings to extension package
  Document other caching option
  Caching: make behaviour when reference proof is pruned configurable
  Handle prunes of proof cache targets
  Naming of cached goal re-open action
  Set tooltip of proof caching button
  Fix ProgramMethodFinder + javadocs
  Bump com.diffplug.spotless from 6.23.3 to 6.24.0
  New action to re-open goals closed by cache
  Refactor CopyReferencedProof action into own class
  ...

# Conflicts:
#	build.gradle
#	key.core/src/main/java/de/uka/ilkd/key/proof/mgt/package-info.java
#	key.core/src/main/java/de/uka/ilkd/key/util/package-info.java
#	settings.gradle
@wadoon
Copy link
Member

wadoon commented Feb 11, 2024

@flo2702 The flag should work now. I have updated eisop to the latest version which results into one new compile error in key.util.

The two compile errors on ImmutableMap are old.

> Task :key.util:compileJava
Note: Checker Framework 3.42.0-eisop2
/home/weigl/work/key/key.util/src/main/java/org/key_project/util/collection/IdentityHashSet.java:71: error: [override.return.invalid] Incompatible return type.
    public <T1> T1[] toArray(T1[] a) {
                  ^
  found   : T1[ extends @UnknownKeyFor Object super @UnknownKeyFor Void] @UnknownKeyFor []
  required: T[ extends @UnknownKeyFor Object super @KeyForBottom Void] @UnknownKeyFor []
  Consequence: method in IdentityHashSet<T extends Object>
    <T1 extends Object> T1 extends Object [] toArray(IdentityHashSet<T extends Object> this, T1 extends Object [] p0)
  cannot override method in Set<T extends Object>
    <T extends Object> T extends Object [] toArray(Set<T extends Object> this, T extends Object [] p0)
/home/weigl/work/key/key.util/src/main/java/org/key_project/util/collection/ImmutableMap.java:13: error: [type.argument.type.incompatible] incompatible type argument for type parameter S of ImmutableMapEntry.
        extends Iterable<ImmutableMapEntry<S, T>>, java.io.Serializable {
                                           ^
  found   : S[ extends @UnknownKeyFor Object super @KeyForBottom Void]
  required: [extends @UnknownKeyFor Object super @UnknownKeyFor NullType]
/home/weigl/work/key/key.util/src/main/java/org/key_project/util/collection/ImmutableMap.java:13: error: [type.argument.type.incompatible] incompatible type argument for type parameter T of ImmutableMapEntry.
        extends Iterable<ImmutableMapEntry<S, T>>, java.io.Serializable {
                                              ^
  found   : T[ extends @UnknownKeyFor Object super @KeyForBottom Void]
  required: [extends @UnknownKeyFor Object super @UnknownKeyFor NullType]
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
3 errors

First one repaired. @SuppresWarning was incorrect

@wadoon wadoon enabled auto-merge February 11, 2024 23:58
@wadoon wadoon added the dependencies Pull requests that update a dependency file label Feb 11, 2024
wadoon and others added 6 commits April 5, 2024 19:19
* origin/main: (174 commits)
  unified naming of operator to "seq_upd".
  Bump org.ow2.asm:asm from 9.6 to 9.7
  reformat after merge
  fix hashing of set statements and assert statements
  Typo in message in dlsmt.sh
  More logging in run all proofs
  Infrastructure for selection of proof groups
  Update pull_request_template.md
  fix check for cvc5
  exit in error in dlsmt.sh
  fix cvc5
  fix smt solver downloader script for z3
  added references to hard-coded rulesets
  applying spotless
  replacing "\seq_length(x)" by "x.length" in set statements in examples
  fix rap for SetStatmentRule
  fix rap for JmlAssertRule
  repair unit tests
  Update broken link in README.md
  different highlighting for JML statements
  ...
* main: (36 commits)
  fix reviewer comments
  Add key features for the FM tutorial
  Bump ch.qos.logback:logback-classic in the gradle-deps group
  Bump ch.qos.logback:logback-classic from 1.5.3 to 1.5.5
  Bump org.slf4j:slf4j-api from 2.0.12 to 2.0.13
  applying spotless
  Boyer Moore Majority Vote
  Added test case for the bugfix
  Fixes a StackOverflow when pretty printing a taclet
  updating test case descriptions for error reporting
  Update dependabot.yml
  Update dependabot configuration
  Rename constant to TEMP_INDEX_SEPARATOR
  Fix newnames handling for new local vars
  cleaning up the test cases
  enabling KeY test cases
  common functionality in new superclass
  improving the feedback of the parsers in KeY
  Fix keyword for message matching for ParseExceptionTest
  better error reporting or JML parsing
  ...
@wadoon
Copy link
Member

wadoon commented Apr 27, 2024

We have a lot of type errors in the test cases.

This leads to an interesting question:

@mattulbrich @flo2702 Do we start with trusting the type system and get rid of the (now) useless NP checks?

For example, consider CollectionsUtil#searchAll:

public static <T> List<T> searchAll(Iterable<T> iterable, Predicate<T> filter) {
        List<T> result = new ArrayList<>();
        if (iterable != null && filter != null) {
            for (T element : iterable) {
                if (filter.test(element)) {
                    result.add(element);
                }
            }
        }
        return result;
}

Are useless now, as the parameters are non-null by type system. There are test cases which for behavior with null args which currently fail in the type checker.

  • Add @Nullable to arguments, or
  • cleanup the code and test cases?

Errors:

Note: Checker Framework 3.42.0-eisop2
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:27: error: [initialization.field.uninitialized] the default constructor does not initialize field a
    ImmutableList<String> a; // "A" "B" "C"
                          ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:28: error: [initialization.field.uninitialized] the default constructor does not initialize field a1
    ImmutableList<String> a1; // "A" "B" "C"
                          ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:29: error: [initialization.field.uninitialized] the default constructor does not initialize field b
    ImmutableList<String> b; // "A" "B"
                          ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:30: error: [initialization.field.uninitialized] the default constructor does not initialize field c
    ImmutableList<String> c; // "A" "B" "C" "D"
                          ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:31: error: [initialization.field.uninitialized] the default constructor does not initialize field d
    ImmutableList<String> d; // "A" "B" "A"
                          ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:32: error: [initialization.field.uninitialized] the default constructor does not initialize field e
    ImmutableList<String> e; // "A" "B" null
                          ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:33: error: [initialization.field.uninitialized] the default constructor does not initialize field e1
    ImmutableList<String> e1; // "A" "B" null
                          ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:43: error: [argument.type.incompatible] incompatible argument for parameter arg0 of ImmutableList.prepend.
        e = ImmutableSLList.<String>nil().prepend((String) null).prepend("B").prepend("A");
                                                  ^
  found   : @Nullable String
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestSLListOfString.java:44: error: [argument.type.incompatible] incompatible argument for parameter arg0 of ImmutableList.prepend.
        e1 = ImmutableSLList.<String>nil().prepend((String) null).prepend("B").prepend("A");
                                                   ^
  found   : @Nullable String
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestMapAsListFromIntegerToString.java:21: error: [initialization.field.uninitialized] the default constructor does not initialize field entryStr
    private String[] entryStr;
                     ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestMapAsListFromIntegerToString.java:22: error: [initialization.field.uninitialized] the default constructor does not initialize field entryInt
    private Integer[] entryInt;
                      ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestLeftistHeapOfInteger.java:24: error: [initialization.field.uninitialized] the default constructor does not initialize field a
    ImmutableList<Integer> a;
                           ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/collection/TestLeftistHeapOfInteger.java:25: error: [initialization.field.uninitialized] the default constructor does not initialize field b
    ImmutableList<Integer> b;
                           ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/XMLUtilTest.java:35: error: [argument.type.incompatible] incompatible argument for parameter fixedReplacement of XMLUtilTest.assertReplaceTags.
        assertReplaceTags("Hello World", "Hello World", null);
                                                        ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/XMLUtilTest.java:36: error: [argument.type.incompatible] incompatible argument for parameter fixedReplacement of XMLUtilTest.assertReplaceTags.
        assertReplaceTags("<html>Hello<br> World</html>", "Hello World", null, "<html>", "<br>",
                                                                         ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:30: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.insert.
        assertArray(ArrayUtil.insert(null, "X", 0), "X");
                                     ^
  found   : null (NullType)
  required: /*INFERENCE FAILED for:*/ ? extends @NonNull Object @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:35: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.insert.
            ArrayUtil.insert(null, null, 0);
                            ^
  found   : @Nullable Object
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:35: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.insert.
            ArrayUtil.insert(null, null, 0);
                             ^
  found   : null (NullType)
  required: @Nullable Object @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:74: error: [argument.type.incompatible] incompatible argument for parameter filter of ArrayUtil.search.
        assertNull(ArrayUtil.search(array, null));
                                           ^
  found   : null (NullType)
  required: @NonNull Predicate<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:75: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.search.
        assertNull(ArrayUtil.search(null, "E"::equals));
                                    ^
  found   : null (NullType)
  required: @NonNull Object @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:83: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.isEmpty.
        assertTrue(ArrayUtil.isEmpty(null));
                                     ^
  found   : null (NullType)
  required: @NonNull Object @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:86: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.isEmpty.
        assertFalse(ArrayUtil.isEmpty(new String[] { null }));
                                     ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:95: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.toString.
        assertEquals(StringUtil.EMPTY_STRING, ArrayUtil.toString((int[]) null, ";"));
                                                                 ^
  found   : @NonNull int @Nullable []
  required: @NonNull int @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:100: error: [argument.type.incompatible] incompatible argument for parameter separator of ArrayUtil.toString.
        assertEquals("1null2null3", ArrayUtil.toString(new int[] { 1, 2, 3 }, null));
                                                                              ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:108: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.toString.
        assertEquals(StringUtil.EMPTY_STRING, ArrayUtil.toString((int[]) null));
                                                                 ^
  found   : @NonNull int @Nullable []
  required: @NonNull int @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:120: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.toString.
        assertEquals(StringUtil.EMPTY_STRING, ArrayUtil.toString((String[]) null, ";"));
                                                                 ^
  found   : @NonNull String @Nullable []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:124: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.toString.
        assertEquals("A;B;null", ArrayUtil.toString(new String[] { "A", "B", null }, ";"));
                                                   ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:125: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.toString.
        assertEquals("A;B;null;D", ArrayUtil.toString(new String[] { "A", "B", null, "D" }, ";"));
                                                     ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:127: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.toString.
            ArrayUtil.toString(new String[] { "A", "B", null, "D" }, null));
                              ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:127: error: [argument.type.incompatible] incompatible argument for parameter separator of ArrayUtil.toString.
            ArrayUtil.toString(new String[] { "A", "B", null, "D" }, null));
                                                                     ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:135: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.toString.
        assertEquals(StringUtil.EMPTY_STRING, ArrayUtil.toString((String[]) null));
                                                                 ^
  found   : @NonNull String @Nullable []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:139: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.toString.
        assertEquals("A, B, null", ArrayUtil.toString(new String[] { "A", "B", null }));
                                                     ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:140: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.toString.
        assertEquals("A, B, null, D", ArrayUtil.toString(new String[] { "A", "B", null, "D" }));
                                                        ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:149: error: [assignment.type.incompatible] incompatible types in assignment.
        String[] array = new String[] { "A", "B", "C", null, "D", null, null, "C", "A" };
                         ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:151: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array, "A", "C", null, "D", null, null, "C", "A");
                          ^
  found   : @NonNull String @Nullable []
  required: @Nullable String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:153: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array, "A", "C", null, "D", null, null, "C", "A");
                          ^
  found   : @NonNull String @Nullable []
  required: @Nullable String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:155: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array, "A", "C", null, null, null, "C", "A");
                          ^
  found   : @NonNull String @Nullable []
  required: @Nullable String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:157: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array, "A", null, null, null, "A");
                          ^
  found   : @NonNull String @Nullable []
  required: @Nullable String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:159: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array, "A", "A");
                          ^
  found   : @NonNull String @Nullable []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:161: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array, "A", "A");
                          ^
  found   : @NonNull String @Nullable []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:163: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array);
                          ^
  found   : @NonNull String @Nullable []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:165: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtilTest.assertArrayEquals.
        assertArrayEquals(array);
                          ^
  found   : @NonNull String @Nullable []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:262: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.add.
        int[] result = ArrayUtil.add(null, 1);
                                     ^
  found   : null (NullType)
  required: @NonNull int @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:304: error: [assignment.type.incompatible] incompatible types in assignment.
        String[] result = ArrayUtil.add(null, "A");
                                       ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:310: error: [assignment.type.incompatible] incompatible types in assignment.
        result = ArrayUtil.add(array, "A");
                              ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:316: error: [assignment.type.incompatible] incompatible types in assignment.
        result = ArrayUtil.add(array, "B");
                              ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:323: error: [assignment.type.incompatible] incompatible types in assignment.
        result = ArrayUtil.add(array, "C");
                              ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:331: error: [assignment.type.incompatible] incompatible types in assignment.
        result = ArrayUtil.add(array, "D");
                              ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:340: error: [assignment.type.incompatible] incompatible types in assignment.
        result = ArrayUtil.add(array, null);
                              ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:362: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.contains.
        assertFalse(ArrayUtil.contains(array, null));
                                      ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:363: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.contains.
        assertFalse(ArrayUtil.contains(null, "A"));
                                       ^
  found   : null (NullType)
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:368: error: [assignment.type.incompatible] incompatible types in assignment.
        String[] arrayWithNull = { "A", "B", null, "D" };
                                 ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:368: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[] arrayWithNull = { "A", "B", null, "D" };
                                             ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:369: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.contains.
        assertTrue(ArrayUtil.contains(arrayWithNull, null));
                                     ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:370: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.contains.
        assertFalse(ArrayUtil.contains(null, "A"));
                                       ^
  found   : null (NullType)
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:377: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.contains.
        assertFalse(ArrayUtil.contains(arrayWithDoubleElements, null));
                                      ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:378: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.contains.
        assertFalse(ArrayUtil.contains(null, "A"));
                                       ^
  found   : null (NullType)
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:391: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.indexOf.
        assertEquals(-1, ArrayUtil.indexOf(array, null));
                                          ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:392: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.indexOf.
        assertEquals(-1, ArrayUtil.indexOf(null, "A"));
                                           ^
  found   : null (NullType)
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:397: error: [assignment.type.incompatible] incompatible types in assignment.
        String[] arrayWithNull = { "A", "B", null, "D" };
                                 ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @Nullable []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:397: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[] arrayWithNull = { "A", "B", null, "D" };
                                             ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:398: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.indexOf.
        assertEquals(2, ArrayUtil.indexOf(arrayWithNull, null));
                                         ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:399: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.indexOf.
        assertEquals(-1, ArrayUtil.indexOf(null, "A"));
                                           ^
  found   : null (NullType)
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:406: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of ArrayUtil.indexOf.
        assertEquals(-1, ArrayUtil.indexOf(arrayWithDoubleElements, null));
                                          ^
  found   : @Nullable String
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/ArrayUtilTest.java:407: error: [argument.type.incompatible] incompatible argument for parameter array of ArrayUtil.indexOf.
        assertEquals(-1, ArrayUtil.indexOf(null, "A"));
                                           ^
  found   : null (NullType)
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/StringUtilTest.java:166: error: [argument.type.incompatible] incompatible argument for parameter toSearch of StringUtil.replaceAll.
        assertEquals(text, StringUtil.replaceAll(text, null, 'X'));
                                                       ^
  found   : null (NullType)
  required: @NonNull char @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/StringUtilTest.java:215: error: [argument.type.incompatible] incompatible argument for parameter text of StringUtil.repeat.
            assertEquals("nullnullnullnull", StringUtil.repeat(null, 4));
                                                               ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/StringUtilTest.java:234: error: [argument.type.incompatible] incompatible argument for parameter arg1 of Comparator.compare.
        assertNotSame(0, c.compare("A", null));
                                        ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/StringUtilTest.java:235: error: [argument.type.incompatible] incompatible argument for parameter arg0 of Comparator.compare.
        assertNotSame(0, c.compare(null, "A"));
                                   ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/StringUtilTest.java:236: error: [argument.type.incompatible] incompatible argument for parameter arg0 of Comparator.compare.
        assertSame(0, c.compare(null, null));
                                ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/StringUtilTest.java:236: error: [argument.type.incompatible] incompatible argument for parameter arg1 of Comparator.compare.
        assertSame(0, c.compare(null, null));
                                      ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:41: error: [argument.type.incompatible] incompatible argument for parameter filter of CollectionUtil.searchAll.
        found = CollectionUtil.searchAll(collection, null);
                                                     ^
  found   : null (NullType)
  required: @NonNull Predicate<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:43: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.searchAll.
        found = CollectionUtil.searchAll(null, "E"::equals);
                                         ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:104: error: [argument.type.incompatible] incompatible argument for parameter iter of CollectionUtil.indexOf.
        assertEquals(-1, CollectionUtil.indexOf((Iterator<?>) null, null));
                                                ^
  found   : @Nullable Iterator<? extends @Nullable Object>
  required: @NonNull Iterator<capture#01 extends @NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:104: error: [argument.type.incompatible] incompatible argument for parameter toSearch of CollectionUtil.indexOf.
        assertEquals(-1, CollectionUtil.indexOf((Iterator<?>) null, null));
                                                                    ^
  found   : null (NullType)
  required: capture#01 extends @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:105: error: [argument.type.incompatible] incompatible argument for parameter toSearch of CollectionUtil.indexOf.
        assertEquals(-1, CollectionUtil.indexOf(list.iterator(), null));
                                                                 ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:106: error: [argument.type.incompatible] incompatible argument for parameter iter of CollectionUtil.indexOf.
        assertEquals(-1, CollectionUtil.indexOf(null, "A"));
                                                ^
  found   : null (NullType)
  required: @NonNull Iterator<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:156: error: [argument.type.incompatible] incompatible argument for parameter filter of CollectionUtil.searchAndRemoveWithException.
        assertNull(CollectionUtil.searchAndRemoveWithException(collection, null));
                                                                           ^
  found   : null (NullType)
  required: @NonNull IFilterWithException<@NonNull String, @NonNull Throwable>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:157: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.searchAndRemoveWithException.
        assertNull(CollectionUtil.searchAndRemoveWithException(null,
                                                               ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:[186](https://github.com/KeYProject/key/actions/runs/8859550688/job/24329433919?pr=3183#step:4:188): error: [argument.type.incompatible] incompatible argument for parameter filter of CollectionUtil.searchAndRemove.
        assertNull(CollectionUtil.searchAndRemove(collection, null));
                                                              ^
  found   : null (NullType)
  required: @NonNull Predicate<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:[187](https://github.com/KeYProject/key/actions/runs/8859550688/job/24329433919?pr=3183#step:4:189): error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.searchAndRemove.
        assertNull(CollectionUtil.searchAndRemove(null, "E"::equals));
                                                  ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:197: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.removeFirst.
        assertNull(CollectionUtil.removeFirst(null));
                                              ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:238: error: [assignment.type.incompatible] incompatible types in assignment.
        List<String> four = Arrays.asList("A", "B", null, "A");
                                         ^
  found   : @NonNull List<@Nullable String>
  required: @Nullable List<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:239: error: [assignment.type.incompatible] incompatible types in assignment.
        List<String> fourCopy = Arrays.asList("A", "B", null, "A");
                                             ^
  found   : @NonNull List<@Nullable String>
  required: @Nullable List<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:240: error: [assignment.type.incompatible] incompatible types in assignment.
        List<String> fourDifferent = Arrays.asList("A", null, null, "B");
                                                  ^
  found   : @NonNull List<@Nullable String>
  required: @Nullable List<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:241: error: [assignment.type.incompatible] incompatible types in assignment.
        List<String> fourChangedOrder = Arrays.asList(null, "A", "A", "B");
                                                     ^
  found   : @NonNull List<@Nullable String>
  required: @Nullable List<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:243: error: [argument.type.incompatible] incompatible argument for parameter first of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(null, null));
                                               ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:243: error: [argument.type.incompatible] incompatible argument for parameter second of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(null, null));
                                                     ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:244: error: [argument.type.incompatible] incompatible argument for parameter second of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(empty, null));
                                                      ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:245: error: [argument.type.incompatible] incompatible argument for parameter first of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(null, empty));
                                               ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:246: error: [argument.type.incompatible] incompatible argument for parameter first of CollectionUtil.containsSame.
        assertFalse(CollectionUtil.containsSame(null, one));
                                                ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:247: error: [argument.type.incompatible] incompatible argument for parameter second of CollectionUtil.containsSame.
        assertFalse(CollectionUtil.containsSame(one, null));
                                                     ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:326: error: [argument.type.incompatible] incompatible argument for parameter first of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(null, null));
                                               ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:326: error: [argument.type.incompatible] incompatible argument for parameter second of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(null, null));
                                                     ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:327: error: [argument.type.incompatible] incompatible argument for parameter second of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(empty, null));
                                                      ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:328: error: [argument.type.incompatible] incompatible argument for parameter first of CollectionUtil.containsSame.
        assertTrue(CollectionUtil.containsSame(null, empty));
                                               ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:329: error: [argument.type.incompatible] incompatible argument for parameter first of CollectionUtil.containsSame.
        assertFalse(CollectionUtil.containsSame(null, one));
                                                ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:330: error: [argument.type.incompatible] incompatible argument for parameter second of CollectionUtil.containsSame.
        assertFalse(CollectionUtil.containsSame(one, null));
                                                     ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:363: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.count.
        assertEquals(0, CollectionUtil.count(null, null));
                                             ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:363: error: [argument.type.incompatible] incompatible argument for parameter filter of CollectionUtil.count.
        assertEquals(0, CollectionUtil.count(null, null));
                                                   ^
  found   : null (NullType)
  required: @NonNull Predicate<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:364: error: [argument.type.incompatible] incompatible argument for parameter filter of CollectionUtil.count.
        assertEquals(0, CollectionUtil.count(list, null));
                                                   ^
  found   : null (NullType)
  required: @NonNull Predicate<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:365: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.count.
        assertEquals(0, CollectionUtil.count(null, element -> false));
                                             ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:384: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.contains.
        assertFalse(CollectionUtil.contains(null, "A"));
                                            ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:385: error: [argument.type.incompatible] incompatible argument for parameter element of CollectionUtil.contains.
        assertFalse(CollectionUtil.contains(list, null));
                                                  ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:386: error: [type.argument.type.incompatible] incompatible type argument for type parameter T extends @NonNull Object of CollectionUtil.contains.
        assertFalse(CollectionUtil.contains(null, null));
                                           ^
  found   : @Nullable Object
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:386: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.contains.
        assertFalse(CollectionUtil.contains(null, null));
                                            ^
  found   : null (NullType)
  required: @NonNull Iterable<@Nullable Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:394: error: [argument.type.incompatible] incompatible argument for parameter arg0 of List.add.
        list.add(null);
                 ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:395: error: [argument.type.incompatible] incompatible argument for parameter element of CollectionUtil.contains.
        assertTrue(CollectionUtil.contains(list, null));
                                                 ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:409: error: [argument.type.incompatible] incompatible argument for parameter filter of CollectionUtil.search.
        assertNull(CollectionUtil.search(collection, null));
                                                     ^
  found   : null (NullType)
  required: @NonNull Predicate<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:410: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.search.
        assertNull(CollectionUtil.search(null, "E"::equals));
                                         ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:420: error: [argument.type.incompatible] incompatible argument for parameter toRemove of CollectionUtil.removeComplete.
        assertFalse(CollectionUtil.removeComplete(collection, null));
                                                              ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:429: error: [argument.type.incompatible] incompatible argument for parameter collection of CollectionUtil.removeComplete.
        assertFalse(CollectionUtil.removeComplete(null, "A"));
                                                  ^
  found   : null (NullType)
  required: @NonNull Collection<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:471: error: [argument.type.incompatible] incompatible argument for parameter collection of CollectionUtil.addAll.
        CollectionUtil.addAll(null, List.of("A"));
                              ^
  found   : null (NullType)
  required: @NonNull Collection</*INFERENCE FAILED for:*/ ? extends @NonNull Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:473: error: [argument.type.incompatible] incompatible argument for parameter iterable of CollectionUtil.addAll.
        CollectionUtil.addAll(collection, null);
                                          ^
  found   : null (NullType)
  required: @NonNull Iterable<@NonNull String>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:511: error: [argument.type.incompatible] incompatible argument for parameter collection of CollectionUtil.isEmpty.
        assertTrue(CollectionUtil.isEmpty((Collection<?>) null));
                                          ^
  found   : @Nullable Collection<? extends @Nullable Object>
  required: @NonNull Collection<? extends @Nullable Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:527: error: [argument.type.incompatible] incompatible argument for parameter map of CollectionUtil.isEmpty.
        assertTrue(CollectionUtil.isEmpty((Map<?, ?>) null));
                                          ^
  found   : @Nullable Map<? extends @Nullable Object, ? extends @Nullable Object>
  required: @NonNull Map<? extends @Nullable Object, ? extends @Nullable Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:543: error: [argument.type.incompatible] incompatible argument for parameter collection of CollectionUtil.toString.
        assertEquals("", CollectionUtil.toString(null, " | "));
                                                 ^
  found   : null (NullType)
  required: @NonNull Collection<? extends @Nullable Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:554: error: [argument.type.incompatible] incompatible argument for parameter separator of CollectionUtil.toString.
        assertEquals("ABCD", CollectionUtil.toString(collection, null));
                                                                 ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/CollectionUtilTest.java:562: error: [argument.type.incompatible] incompatible argument for parameter collection of CollectionUtil.toString.
        assertEquals("", CollectionUtil.toString(null));
                                                 ^
  found   : null (NullType)
  required: @NonNull Collection<? extends @Nullable Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/NumberUtilTest.java:36: error: [argument.type.incompatible] incompatible argument for parameter text of NumberUtil.parseFullInt.
            NumberUtil.parseFullInt(null);
                                    ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/NumberUtilTest.java:60: error: [argument.type.incompatible] incompatible argument for parameter text of NumberUtil.parseFullInt.
            NumberUtil.parseFullInt(null);
                                    ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:50: error: [argument.type.incompatible] incompatible argument for parameter file of IOUtil.exists.
        assertFalse(IOUtil.exists(null));
                                  ^
  found   : null (NullType)
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:87: error: [argument.type.incompatible] incompatible argument for parameter parents of IOUtil.contains.
            assertFalse(IOUtil.contains((Iterable<File>) null, yesFile));
                                        ^
  found   : @Nullable Iterable<@NonNull File>
  required: @NonNull Iterable<@NonNull File>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:88: error: [argument.type.incompatible] incompatible argument for parameter child of IOUtil.contains.
            assertFalse(IOUtil.contains(parents, null));
                                                 ^
  found   : null (NullType)
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:89: error: [argument.type.incompatible] incompatible argument for parameter parents of IOUtil.contains.
            assertFalse(IOUtil.contains((Iterable<File>) null, null));
                                        ^
  found   : @Nullable Iterable<@NonNull File>
  required: @NonNull Iterable<@NonNull File>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:89: error: [argument.type.incompatible] incompatible argument for parameter child of IOUtil.contains.
            assertFalse(IOUtil.contains((Iterable<File>) null, null));
                                                               ^
  found   : null (NullType)
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:90: error: [argument.type.incompatible] incompatible argument for parameter child of IOUtil.contains.
            assertFalse(IOUtil.contains(parents, yesDir.getParentFile()));
                                                                     ^
  found   : @Nullable File
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:151: error: [argument.type.incompatible] incompatible argument for parameter toTest of IOUtilTest.doTestUnifyLineBreaks.
        doTestUnifyLineBreaks(null, null);
                              ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:151: error: [argument.type.incompatible] incompatible argument for parameter expected of IOUtilTest.doTestUnifyLineBreaks.
        doTestUnifyLineBreaks(null, null);
                                    ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:[235](https://github.com/KeYProject/key/actions/runs/8859550688/job/24329433919?pr=3183#step:4:237): error: [argument.type.incompatible] incompatible argument for parameter file of IOUtil.visit.
            IOUtil.visit(null, visitor);
                         ^
  found   : null (NullType)
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:309: error: [argument.type.incompatible] incompatible argument for parameter file of IOUtil.search.
            List<File> result = IOUtil.search(null, filter);
                                              ^
  found   : null (NullType)
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:312: error: [argument.type.incompatible] incompatible argument for parameter filter of IOUtil.search.
            result = IOUtil.search(tempDir, null);
                                            ^
  found   : null (NullType)
  required: @NonNull Predicate<@NonNull File>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:363: error: [argument.type.incompatible] incompatible argument for parameter actual of Assertions.assertNotNull.
        assertNotNull(home);
                      ^
  found   : @Nullable File
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:394: error: [argument.type.incompatible] incompatible argument for parameter file of IOUtil.delete.
            IOUtil.delete(tempDir);
                          ^
  found   : @Nullable File
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:465: error: [argument.type.incompatible] incompatible argument for parameter file of IOUtilTest.assertLineInformation.
        assertLineInformation((File) null);
                              ^
  found   : @Nullable File
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:616: error: [argument.type.incompatible] incompatible argument for parameter text of IOUtilTest.assertLineInformation.
            assertLineInformation(sb.length() >= 1 ? sb.toString() : null, expectedInfos);
                                                   ^
  found   : @Nullable String
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:618: error: [argument.type.incompatible] incompatible argument for parameter text of IOUtilTest.assertLineInformation.
            assertLineInformation(null, new LineInformation[0]);
                                  ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:657: error: [argument.type.incompatible] incompatible argument for parameter out of IOUtil.writeTo.
            IOUtil.writeTo(null, content);
                           ^
  found   : null (NullType)
  required: @NonNull OutputStream
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:660: error: [argument.type.incompatible] incompatible argument for parameter content of IOUtil.writeTo.
            IOUtil.writeTo(out, null);
                                ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:700: error: [argument.type.incompatible] incompatible argument for parameter encoding of XMLUtil.appendXmlHeader.
        XMLUtil.appendXmlHeader(encoding != null ? encoding.displayName() : null, sb);
                                                 ^
  found   : @Nullable String
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:702: error: [argument.type.incompatible] incompatible argument for parameter arg1 of Map.put.
        attributes.put("text", XMLUtil.encodeText(text));
                                                 ^
  found   : @Nullable String
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:727: error: [initialization.field.uninitialized] the default constructor does not initialize field text
        private String text;
                       ^
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:783: error: [argument.type.incompatible] incompatible argument for parameter text of IOUtilTest.doTestReadFrom.
            doTestReadFrom(null);
                           ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:811: error: [argument.type.incompatible] incompatible argument for parameter file of IOUtil.delete.
        IOUtil.delete(null); // No exception expected
                      ^
  found   : null (NullType)
  required: @NonNull File
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:847: error: [argument.type.incompatible] incompatible argument for parameter text of IOUtilTest.doTestCopy.
        doTestCopy(null);
                   ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:848: error: [argument.type.incompatible] incompatible argument for parameter source of IOUtil.copy.
        assertFalse(IOUtil.copy((InputStream) null, null));
                                ^
  found   : @Nullable InputStream
  required: @NonNull InputStream
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:848: error: [argument.type.incompatible] incompatible argument for parameter target of IOUtil.copy.
        assertFalse(IOUtil.copy((InputStream) null, null));
                                                    ^
  found   : null (NullType)
  required: @NonNull OutputStream
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:850: error: [argument.type.incompatible] incompatible argument for parameter target of IOUtil.copy.
            new ByteArrayInputStream("NotCopied".getBytes(StandardCharsets.UTF_8)), null));
                                                                                    ^
  found   : null (NullType)
  required: @NonNull OutputStream
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:878: error: [argument.type.incompatible] incompatible argument for parameter source of IOUtil.copy.
            assertFalse(IOUtil.copy(null, new ByteArrayOutputStream()));
                                    ^
  found   : null (NullType)
  required: @NonNull InputStream
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:888: error: [argument.type.incompatible] incompatible argument for parameter actual of Assertions.assertNotNull.
        assertNotNull(IOUtil.getClassLocation(getClass()));
                                             ^
  found   : @Nullable File
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:896: error: [argument.type.incompatible] incompatible argument for parameter classInstance of IOUtil.getProjectRoot.
        assertNull(IOUtil.getProjectRoot(null));
                                         ^
  found   : null (NullType)
  required: @NonNull Class<? extends @Nullable Object>
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:897: error: [argument.type.incompatible] incompatible argument for parameter actual of Assertions.assertNotNull.
        assertNotNull(IOUtil.getProjectRoot(getClass()));
                                           ^
  found   : @Nullable File
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:913: error: [argument.type.incompatible] incompatible argument for parameter actual of Assertions.assertNotNull.
        assertNotNull(uri);
                      ^
  found   : @Nullable URI
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:919: error: [argument.type.incompatible] incompatible argument for parameter actual of Assertions.assertNotNull.
        assertNotNull(uri);
                      ^
  found   : @Nullable URI
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/testcase/java/IOUtilTest.java:925: error: [argument.type.incompatible] incompatible argument for parameter actual of Assertions.assertNotNull.
        assertNotNull(uri);
                      ^
  found   : @Nullable URI
  required: @NonNull Object
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:37: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] a = { { "a", "b", "a", "c", "d", "d", "a", "e" }, { null, "a", null },
                                                                     ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:37: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] a = { { "a", "b", "a", "c", "d", "d", "a", "e" }, { null, "a", null },
                                                                       ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:37: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] a = { { "a", "b", "a", "c", "d", "d", "a", "e" }, { null, "a", null },
                                                                                  ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:40: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] expected = { { "a", "b", "c", "d", "e" }, { null, "a" }, { "1" } };
                                                             ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:40: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] expected = { { "a", "b", "c", "d", "e" }, { null, "a" }, { "1" } };
                                                               ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:68: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] a = { { "a", "b", "c", "d", "e" }, {}, { "a" }, { null }, { null, "a" } };
                                                                   ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:68: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] a = { { "a", "b", "c", "d", "e" }, {}, { "a" }, { null }, { null, "a" } };
                                                                     ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:68: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] a = { { "a", "b", "c", "d", "e" }, {}, { "a" }, { null }, { null, "a" } };
                                                                             ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:68: error: [array.initializer.type.incompatible] incompatible types in array initializer.
        String[][] a = { { "a", "b", "c", "d", "e" }, {}, { "a" }, { null }, { null, "a" } };
                                                                               ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:76: error: [array.initializer.type.incompatible] incompatible types in array initializer.
            { "a", "b", "d", "d", "e" }, { "a", "b", "c", "d", "d" }, { null, "a", null } };
                                                                      ^
  found   : @Nullable String @NonNull []
  required: @NonNull String @NonNull []
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:76: error: [array.initializer.type.incompatible] incompatible types in array initializer.
            { "a", "b", "d", "d", "e" }, { "a", "b", "c", "d", "d" }, { null, "a", null } };
                                                                        ^
  found   : null (NullType)
  required: @NonNull String
/home/runner/work/key/key/key.util/src/test/java/org/key_project/util/collection/TestImmutables.java:76: error: [array.initializer.type.incompatible] incompatible types in array initializer.
            { "a", "b", "d", "d", "e" }, { "a", "b", "c", "d", "d" }, { null, "a", null } };
                                                                                   ^
  found   : null (NullType)
  required: @NonNull String

@flo2702 flo2702 disabled auto-merge April 30, 2024 17:20
@flo2702 flo2702 enabled auto-merge April 30, 2024 17:31
@flo2702 flo2702 added this pull request to the merge queue May 2, 2024
@wadoon
Copy link
Member

wadoon commented May 2, 2024

Is there a plan for the other modules? Next would be key.core, but I think we should do this incrementally each package/cluster at once

Merged via the queue into KeYProject:main with commit e939999 May 2, 2024
10 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file Infrastructure Changes to the Github configurations, repository or other non-source stuff Java Pull requests that update Java code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants