[java] Only log when API file can't be found for non-highest language level

Makes it possible to add API files for language levels higher than the current HIGHEST like preview levels.

GitOrigin-RevId: 0b6b572609238d5015ca2361fb8ab59df35d088f
This commit is contained in:
Bart van Helvert
2024-04-02 13:11:12 +00:00
committed by intellij-monorepo-bot
parent 3b37905738
commit ee73aef512
@@ -72,7 +72,7 @@ public final class LanguageLevelUtil {
static {
for (LanguageLevel level : LanguageLevel.values()) {
if (level.ordinal() >= LanguageLevel.HIGHEST.ordinal()) break;
if (level.ordinal() > LanguageLevel.HIGHEST.ordinal()) break;
int feature = level.feature() + 1;
ourPresentableShortMessage.put(level, feature >= 9 ? String.valueOf(feature) : "1." + feature);
}
@@ -97,8 +97,14 @@ public final class LanguageLevelUtil {
URL resource = LanguageLevelUtil.class.getResource(fileName);
if (resource != null) {
result = loadSignatureList(resource);
} else {
Logger.getInstance(LanguageLevelUtil.class).warn("File not found: " + fileName);
}
else if (languageLevel.isAtLeast(LanguageLevel.HIGHEST)) {
// For preview or experimental language levels, there might be no API files yet.
// This is not considered an error because the API might not be stable yet.
result = Collections.emptySet();
}
else {
Logger.getInstance(LanguageLevelUtil.class).error("File not found: " + fileName);
result = Collections.emptySet();
}
ourForbiddenAPI.put(languageLevel, new SoftReference<>(result));