[java] cleanup: use getLast/getFirst/etc.

GitOrigin-RevId: e77d2952e8d83aedd00784a2b3290c6c92460717
This commit is contained in:
Tagir Valeev
2025-09-15 08:54:13 +00:00
committed by intellij-monorepo-bot
parent 2bc43dfd13
commit 53489602f1
43 changed files with 109 additions and 113 deletions
@@ -87,7 +87,7 @@ public final class StringTemplateReverseMigrationInspection extends AbstractBase
}
if (string) stringSeen = true;
}
String last = fragments.get(fragments.size() - 1).getValue();
String last = fragments.getLast().getValue();
if (last == null) return;
if (!last.isEmpty()) {
concatenation.append("+\"").append(StringUtil.escapeStringCharacters(last)).append('"');
@@ -166,7 +166,7 @@ abstract class IntermediateOperation implements Operation {
@NotNull ChainVariable outVar,
@NotNull String code,
@NotNull OptionalToIfContext context) {
String orResult = myRecords.get(myRecords.size() - 1).myOutVar.getName();
String orResult = myRecords.getLast().myOutVar.getName();
String orCode = OptionalToIfInspection.wrapCode(context, myRecords, outVar.getName() + "=" + orResult + ";");
if (orCode == null) return null;
return "if(" + outVar.getName() + "==null){\n" +
@@ -196,7 +196,7 @@ abstract class IntermediateOperation implements Operation {
@Override
public @NotNull ChainVariable getOutVar(@NotNull ChainVariable inVar) {
ChainVariable outVar = myRecords.get(myRecords.size() - 1).myOutVar;
ChainVariable outVar = myRecords.getLast().myOutVar;
return myVarName.equals(outVar.getName()) ? inVar : outVar;
}
@@ -202,7 +202,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
String generateIntermediate(CommentTracker ct) {
if (TypeUtils.isJavaLangString(myLoopVariable.getType()) &&
myMainJoinParts.size() == 1 &&
myMainJoinParts.get(0) instanceof PsiReferenceExpression) {
myMainJoinParts.getFirst() instanceof PsiReferenceExpression) {
return "";
}
PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(myLoopVariable.getProject());
@@ -540,7 +540,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
private static @Nullable PsiMethodCallExpression tryExtractCombinedToString(PsiMethodCallExpression afterLoopAppend,
List<PsiElement> refs) {
if (refs.size() == 1 && afterLoopAppend == null) { // case like return sb.append(postfix).toString();
PsiMethodCallExpression usage = ExpressionUtils.getCallForQualifier((PsiExpression)refs.get(0));
PsiMethodCallExpression usage = ExpressionUtils.getCallForQualifier((PsiExpression)refs.getFirst());
if (APPEND.test(usage)) {
PsiMethodCallExpression nextCall = ExpressionUtils.getCallForQualifier(usage);
if (nextCall != null && "toString".equals(nextCall.getMethodExpression().getReferenceName())) {
@@ -750,7 +750,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
List<PsiExpression> mainJoinParts = extractJoinParts(statements);
if (mainJoinParts == null || mainJoinParts.isEmpty()) return null;
if (statements.isEmpty()) return null;
PsiVariable targetBuilder = extractStringBuilder(statements.get(0));
PsiVariable targetBuilder = extractStringBuilder(statements.getFirst());
if (targetBuilder == null) return null;
PsiStatement loop = terminalBlock.getStreamSourceStatement();
PrefixSuffixContext context =
@@ -781,14 +781,14 @@ final class JoiningMigration extends BaseStreamApiMigration {
if (nonFinalVariables != null && !nonFinalVariables.isEmpty()) return null;
List<PsiStatement> statements = List.of(terminalBlock.getStatements());
if (statements.size() < 2) return null;
PsiIfStatement ifStatement = tryCast(statements.get(0), PsiIfStatement.class);
PsiIfStatement ifStatement = tryCast(statements.getFirst(), PsiIfStatement.class);
if (ifStatement == null) return null;
PsiExpression condition = ifStatement.getCondition();
if (condition == null || ifStatement.getElseBranch() != null) return null;
List<PsiExpression> delimiter = extractDelimiter(ifStatement);
if (delimiter == null) return null;
List<PsiStatement> withoutCondition = statements.subList(1, statements.size());
PsiVariable targetBuilder = extractStringBuilder(withoutCondition.get(0));
PsiVariable targetBuilder = extractStringBuilder(withoutCondition.getFirst());
if(!(targetBuilder instanceof PsiLocalVariable)) return null;
Integer conditionPrefixLength = extractConditionPrefixLength(condition, targetBuilder);
if (conditionPrefixLength == null) return null;
@@ -848,7 +848,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
if (specialFirstIterationLoop == null) return null;
PsiLocalVariable boolVar = specialFirstIterationLoop.getVariable();
if (boolVar == null) return null;
if (nonFinalVariables != null && !nonFinalVariables.get(0).equals(boolVar)) return null;
if (nonFinalVariables != null && !nonFinalVariables.getFirst().equals(boolVar)) return null;
List<? extends PsiStatement> firstIterationStatements = specialFirstIterationLoop.getFirstIterationStatements();
List<? extends PsiStatement> otherIterationStatements = specialFirstIterationLoop.getOtherIterationStatements();
if (firstIterationStatements.isEmpty() || otherIterationStatements.isEmpty()) return null;
@@ -861,7 +861,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
if (!joinPartsAreEquivalent(joinData.getMainJoinParts(), firstIterationJoinParts)) return null;
PsiVariable targetBuilder = extractStringBuilder(firstIterationStatements.get(0));
PsiVariable targetBuilder = extractStringBuilder(firstIterationStatements.getFirst());
if (targetBuilder == null) return null;
PsiStatement loop = terminalBlock.getStreamSourceStatement();
PrefixSuffixContext context =
@@ -905,7 +905,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
if (nonFinalVariables != null && !nonFinalVariables.isEmpty()) return null;
List<PsiStatement> statements = Arrays.asList(terminalBlock.getStatements());
if (statements.isEmpty()) return null;
PsiVariable targetBuilder = extractStringBuilder(statements.get(0));
PsiVariable targetBuilder = extractStringBuilder(statements.getFirst());
if(!(targetBuilder instanceof PsiLocalVariable)) return null;
List<PsiExpression> joinParts = extractJoinParts(statements);
if (joinParts == null) return null;
@@ -1017,7 +1017,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
List<PsiStatement> statements = List.of(terminalBlock.getStatements());
if (statements.size() < 2) return null;
// TODO maybe not just last, but check if delimiter not used after assignment?
PsiAssignmentExpression assignment = extractAssignment(statements.get(statements.size() - 1));
PsiAssignmentExpression assignment = extractAssignment(statements.getLast());
if (assignment == null) return null;
PsiLocalVariable delimiterVar = extractDelimiterVar(assignment);
if (delimiterVar == null) return null;
@@ -1027,11 +1027,11 @@ final class JoiningMigration extends BaseStreamApiMigration {
List<PsiExpression> joinParts = extractJoinParts(mainStatements);
if (joinParts == null || joinParts.isEmpty()) return null;
if (isSeparator(delimiterVar, joinParts.get(0))) return null;
joinParts.remove(0);
if (isSeparator(delimiterVar, joinParts.getFirst())) return null;
joinParts.removeFirst();
if (ReferencesSearch.search(delimiterVar, new LocalSearchScope(terminalBlock.getStatements())).findAll().size() != 2) return null;
PsiVariable targetBuilder = extractStringBuilder(mainStatements.get(0));
PsiVariable targetBuilder = extractStringBuilder(mainStatements.getFirst());
if (targetBuilder == null) return null;
PsiStatement loop = terminalBlock.getStreamSourceStatement();
@@ -1115,7 +1115,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
break;
}
if (statement instanceof PsiExpressionStatement &&
JoiningTerminal.tryExtractJoinPart(((PsiExpressionStatement)statement).getExpression(), new ArrayList<>())) {
tryExtractJoinPart(((PsiExpressionStatement)statement).getExpression(), new ArrayList<>())) {
break;
}
additionalPrefix++;
@@ -1142,7 +1142,7 @@ final class JoiningMigration extends BaseStreamApiMigration {
if (!joinPartsAreEquivalent(joinData.getMainJoinParts(), firstIterationJoinParts)) return null;
if (firstIterationStatements.isEmpty()) return null;
PsiVariable targetBuilder = extractStringBuilder(firstIterationStatements.get(0));
PsiVariable targetBuilder = extractStringBuilder(firstIterationStatements.getFirst());
if (targetBuilder == null) return null;
PsiStatement loop = terminalBlock.getStreamSourceStatement();
PrefixSuffixContext context =
@@ -1223,9 +1223,9 @@ final class JoiningMigration extends BaseStreamApiMigration {
PsiStatement loop = terminalBlock.getStreamSourceStatement();
PsiLocalVariable variable = tryCast(terminalBlock.getVariable(), PsiLocalVariable.class);
if (variable == null) return null;
PsiVariable targetBuilder = extractStringBuilder(statements.get(0));
PsiVariable targetBuilder = extractStringBuilder(statements.getFirst());
if (targetBuilder == null) return null;
AppendChain beforeLoopAppend = JoiningTerminal.getCallBeforeStatement(loop, targetBuilder, emptyList());
AppendChain beforeLoopAppend = getCallBeforeStatement(loop, targetBuilder, emptyList());
if (beforeLoopAppend == null) return null;
PsiStatement beforeLoopAppendStatement = PsiTreeUtil.getParentOfType(beforeLoopAppend.outermost, PsiStatement.class);
if (beforeLoopAppendStatement == null) return null;
@@ -211,7 +211,7 @@ public final class StreamToLoopInspection extends AbstractBaseJavaLocalInspectio
Operation combined = op.combineWithNext(next);
if (combined != null) {
op = combined;
operations.remove(operations.size() - 1);
operations.removeLast();
}
}
OperationRecord or = new OperationRecord();
@@ -238,7 +238,7 @@ public final class StreamToLoopInspection extends AbstractBaseJavaLocalInspectio
@Contract("null -> null")
static @Nullable TerminalOperation getTerminal(List<? extends OperationRecord> operations) {
if (operations == null || operations.isEmpty()) return null;
OperationRecord record = operations.get(operations.size()-1);
OperationRecord record = operations.getLast();
if(record.myOperation instanceof TerminalOperation) {
return (TerminalOperation)record.myOperation;
}
@@ -384,7 +384,7 @@ public final class FieldCanBeLocalInspection extends AbstractBaseJavaLocalInspec
if (declaration != null) newDeclarations.add(declaration);
}
if (!newDeclarations.isEmpty()) {
final PsiElement lastDeclaration = newDeclarations.get(newDeclarations.size() - 1);
final PsiElement lastDeclaration = newDeclarations.getLast();
deleteField(variable, lastDeclaration);
}
return newDeclarations;
@@ -401,7 +401,7 @@ public final class FieldCanBeLocalInspection extends AbstractBaseJavaLocalInspec
if (variable == null) return;
final List<PsiElement> newDeclarations = moveDeclaration(variable);
if (newDeclarations.isEmpty()) return;
updater.moveCaretTo(newDeclarations.get(newDeclarations.size() - 1));
updater.moveCaretTo(newDeclarations.getLast());
newDeclarations.forEach(declaration -> ConvertToLocalUtils.inlineRedundant(declaration));
}