Files
openide/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/redundantUnmodifiable/beforeArgumentOfPureMethodAnnotated.java
Tagir Valeev 49cd49dfa3 [java-dfa] Revise mutability: MUST_NOT_MODIFY
New level 'MUST_NOT_MODIFY' is introduced for parameters inside pure methods to signal that we should not modify these values, but we don't actually know whether they mutable or not (fixes IDEA-257286). Also, MUST_NOT_MODIFY is dropped inside nested closures, so we don't warn if parameter is modified there.

GitOrigin-RevId: f095e72be772eef8324ef2246fb0b7262beae20d
2021-02-01 08:25:58 +00:00

17 lines
439 B
Java

// "Fix all 'Redundant usage of unmodifiable collection wrappers' problems in file" "false"
import java.util.*;
import org.jetbrains.annotations.Contract;
class Main {
@Contract(pure = true)
public static <T> List<T> unmodifiableOrEmptyList(List<? extends T> original) {
int size = original.size();
if (size == 0) {
return Collections.emptyList();
}
return Collections.<caret>unmodifiableList(original);
}
}