diff --git a/external-reports/src/main/java/org/sonar/java/externalreport/SpotBugsXmlReportReader.java b/external-reports/src/main/java/org/sonar/java/externalreport/SpotBugsXmlReportReader.java index ea463fcd325..7f943049f58 100644 --- a/external-reports/src/main/java/org/sonar/java/externalreport/SpotBugsXmlReportReader.java +++ b/external-reports/src/main/java/org/sonar/java/externalreport/SpotBugsXmlReportReader.java @@ -50,7 +50,7 @@ public class SpotBugsXmlReportReader { private final ExternalRuleLoader defaultRuleLoader; private final Map otherLoaders; - private List sourceDirs = new ArrayList<>(); + private final List sourceDirs = new ArrayList<>(); private String bugInstanceType = ""; private String bugInstanceLongMessage = ""; private String sourceLinePath = ""; diff --git a/java-checks-aws/src/main/java/org/sonar/java/checks/aws/AwsBuilderMethodFinder.java b/java-checks-aws/src/main/java/org/sonar/java/checks/aws/AwsBuilderMethodFinder.java index 06ceed6dfa5..2788603afe9 100644 --- a/java-checks-aws/src/main/java/org/sonar/java/checks/aws/AwsBuilderMethodFinder.java +++ b/java-checks-aws/src/main/java/org/sonar/java/checks/aws/AwsBuilderMethodFinder.java @@ -144,7 +144,7 @@ private static boolean isPassedAsArgument(IdentifierTree identifier) { private static class CallChainVisitor extends BaseTreeVisitor { protected boolean methodIsInvoked; - private MethodMatchers target; + private final MethodMatchers target; CallChainVisitor(MethodMatchers matcher) { this.target = matcher; diff --git a/java-checks-common/src/main/java/org/sonar/java/checks/helpers/ExpressionsHelper.java b/java-checks-common/src/main/java/org/sonar/java/checks/helpers/ExpressionsHelper.java index 6d7cb8a7f94..28358aed28d 100644 --- a/java-checks-common/src/main/java/org/sonar/java/checks/helpers/ExpressionsHelper.java +++ b/java-checks-common/src/main/java/org/sonar/java/checks/helpers/ExpressionsHelper.java @@ -157,8 +157,8 @@ private static boolean isStrictAssignmentOrDeclaration(ExpressionTree expression public static class ValueResolution { private T value; - private List valuePath = new ArrayList<>(); - private Set evaluatedSymbols = new HashSet<>(); + private final List valuePath = new ArrayList<>(); + private final Set evaluatedSymbols = new HashSet<>(); private final String locationMessage; public ValueResolution() { diff --git a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/Expectations.java b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/Expectations.java index 6acdca5dad3..e514f7f8b2e 100644 --- a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/Expectations.java +++ b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/Expectations.java @@ -107,7 +107,7 @@ enum IssueAttribute { FLOWS(multiValueAttribute(Function.identity())), QUICK_FIXES(multiValueAttribute(Function.identity())); - private Function setter; + private final Function setter; private Function getter = Function.identity(); IssueAttribute(Function setter) { @@ -247,7 +247,7 @@ private static int getColumnOffset(@Nullable Object o, String position, int line private boolean collectQuickFixes = false; private final Map> quickFixes = new HashMap<>(); - private Set seenFlowIds = new HashSet<>(); + private final Set seenFlowIds = new HashSet<>(); Expectations() { } diff --git a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCacheContext.java b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCacheContext.java index 14872a48a5a..f8cf36a1286 100644 --- a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCacheContext.java +++ b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCacheContext.java @@ -24,9 +24,9 @@ import java.util.Objects; public class InternalCacheContext implements CacheContext { - private boolean isEnabled; - private JavaReadCache readCache; - private JavaWriteCache writeCache; + private final boolean isEnabled; + private final JavaReadCache readCache; + private final JavaWriteCache writeCache; public InternalCacheContext(boolean isEnabled, @Nullable JavaReadCache readCache, @Nullable JavaWriteCache writeCache) { this.isEnabled = isEnabled; diff --git a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java index 791c4307503..6f55fa99bfb 100644 --- a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java +++ b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/InternalCheckVerifier.java @@ -90,7 +90,7 @@ public class InternalCheckVerifier implements CheckVerifier { private Consumer> customIssueVerifier = null; private boolean collectQuickFixes = false; - private Expectations expectations = new Expectations(); + private final Expectations expectations = new Expectations(); @VisibleForTesting CacheContext cacheContext = null; private ReadCache readCache; diff --git a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/JavaCheckVerifier.java b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/JavaCheckVerifier.java index 32dc881dfff..adbeb122b90 100644 --- a/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/JavaCheckVerifier.java +++ b/java-checks-testkit/src/main/java/org/sonar/java/checks/verifier/internal/JavaCheckVerifier.java @@ -78,8 +78,8 @@ public static JavaCheckVerifier newInstance() { private List checks = null; private List classpath = null; - private List jarsToAdd = new ArrayList<>(); - private List jarsToRemove = new ArrayList<>(); + private final List jarsToAdd = new ArrayList<>(); + private final List jarsToRemove = new ArrayList<>(); @VisibleForTesting List actualClasspath = null; private JavaVersion javaVersion = null; diff --git a/java-checks/src/main/java/org/sonar/java/checks/AbstractInSynchronizeChecker.java b/java-checks/src/main/java/org/sonar/java/checks/AbstractInSynchronizeChecker.java index f865390c5bd..b82c9d62d28 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/AbstractInSynchronizeChecker.java +++ b/java-checks/src/main/java/org/sonar/java/checks/AbstractInSynchronizeChecker.java @@ -29,7 +29,7 @@ import java.util.List; public abstract class AbstractInSynchronizeChecker extends AbstractMethodDetection { - private Deque withinSynchronizedBlock = new LinkedList<>(); + private final Deque withinSynchronizedBlock = new LinkedList<>(); @Override public void setContext(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/AccessibilityChangeOnRecordsCheck.java b/java-checks/src/main/java/org/sonar/java/checks/AccessibilityChangeOnRecordsCheck.java index 658adac8a7f..b3a190385bc 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/AccessibilityChangeOnRecordsCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/AccessibilityChangeOnRecordsCheck.java @@ -37,8 +37,8 @@ public class AccessibilityChangeOnRecordsCheck extends AbstractAccessibilityChan private static final String MESSAGE = "Remove this private field update which will never succeed"; private static final String SECONDARY_MESSAGE = "Remove this accessibility bypass which will never succeed"; - private Map primaryTargets = new HashMap<>(); - private Map> secondaryTargets = new HashMap<>(); + private final Map primaryTargets = new HashMap<>(); + private final Map> secondaryTargets = new HashMap<>(); @Override public List nodesToVisit() { diff --git a/java-checks/src/main/java/org/sonar/java/checks/CastArithmeticOperandCheck.java b/java-checks/src/main/java/org/sonar/java/checks/CastArithmeticOperandCheck.java index 900632c6f65..a0d64da5e80 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/CastArithmeticOperandCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/CastArithmeticOperandCheck.java @@ -156,7 +156,7 @@ private static boolean isVarTypeErrorProne(Type varType) { } private class ReturnStatementVisitor extends BaseTreeVisitor { - private Type returnType; + private final Type returnType; public ReturnStatementVisitor(Type returnType) { this.returnType = returnType; diff --git a/java-checks/src/main/java/org/sonar/java/checks/ClassVariableVisibilityCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ClassVariableVisibilityCheck.java index e9cde2e8f94..dc358355c25 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ClassVariableVisibilityCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ClassVariableVisibilityCheck.java @@ -36,7 +36,7 @@ @Rule(key = "S1104") public class ClassVariableVisibilityCheck extends BaseTreeVisitor implements JavaFileScanner { - private Deque isClassStack = new ArrayDeque<>(); + private final Deque isClassStack = new ArrayDeque<>(); private JavaFileScannerContext context; diff --git a/java-checks/src/main/java/org/sonar/java/checks/CollapsibleIfCandidateCheck.java b/java-checks/src/main/java/org/sonar/java/checks/CollapsibleIfCandidateCheck.java index 204fd9366b9..971698ad7b3 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/CollapsibleIfCandidateCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/CollapsibleIfCandidateCheck.java @@ -35,7 +35,7 @@ public class CollapsibleIfCandidateCheck extends BaseTreeVisitor implements JavaFileScanner { private JavaFileScannerContext context; - private Deque outerIf = new ArrayDeque<>(); + private final Deque outerIf = new ArrayDeque<>(); @Override public void scanFile(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/CollectionInappropriateCallsCheck.java b/java-checks/src/main/java/org/sonar/java/checks/CollectionInappropriateCallsCheck.java index 5421aeb1f70..8e98906978c 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/CollectionInappropriateCallsCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/CollectionInappropriateCallsCheck.java @@ -176,7 +176,7 @@ private static class TypeChecker { private final String methodOwnerType; private final MethodMatchers methodMatcher; private final int argumentIndex; - private boolean argumentIsACollection; + private final boolean argumentIsACollection; private final int parametrizedTypeIndex; private TypeChecker(String methodOwnerType, MethodMatchers methodMatcher, int argumentIndex, boolean argumentIsACollection, int parametrizedTypeIndex) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/ConstructorCallingOverridableCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ConstructorCallingOverridableCheck.java index 2513ad843a2..0e577572ab4 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ConstructorCallingOverridableCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ConstructorCallingOverridableCheck.java @@ -52,7 +52,7 @@ public void visitNode(Tree tree) { private class ConstructorBodyVisitor extends BaseTreeVisitor { - private Symbol.TypeSymbol constructorType; + private final Symbol.TypeSymbol constructorType; public ConstructorBodyVisitor(Symbol.TypeSymbol constructorType) { this.constructorType = constructorType; diff --git a/java-checks/src/main/java/org/sonar/java/checks/DiamondOperatorCheck.java b/java-checks/src/main/java/org/sonar/java/checks/DiamondOperatorCheck.java index 4c9cdb8fe27..8c76579088b 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/DiamondOperatorCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/DiamondOperatorCheck.java @@ -57,7 +57,7 @@ public class DiamondOperatorCheck extends SubscriptionVisitor implements JavaVersionAwareVisitor { /** Nodes to check in Java 7. */ - private static final Tree.Kind[] JAVA_7_KINDS = new Tree.Kind[] { + private static final Tree.Kind[] JAVA_7_KINDS = { Tree.Kind.VARIABLE, Tree.Kind.TYPE_CAST, Tree.Kind.RETURN_STATEMENT, diff --git a/java-checks/src/main/java/org/sonar/java/checks/DoublePrefixOperatorCheck.java b/java-checks/src/main/java/org/sonar/java/checks/DoublePrefixOperatorCheck.java index 1ddd4227c95..713dee466f9 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/DoublePrefixOperatorCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/DoublePrefixOperatorCheck.java @@ -37,7 +37,7 @@ public List nodesToVisit() { return Arrays.asList(Tree.Kind.LOGICAL_COMPLEMENT, Tree.Kind.BITWISE_COMPLEMENT, Tree.Kind.UNARY_PLUS, Tree.Kind.UNARY_MINUS); } - private Set prefixSet = new HashSet<>(); + private final Set prefixSet = new HashSet<>(); @Override public void setContext(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/HasNextCallingNextCheck.java b/java-checks/src/main/java/org/sonar/java/checks/HasNextCallingNextCheck.java index 465df2e6ea8..68159b010e3 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/HasNextCallingNextCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/HasNextCallingNextCheck.java @@ -34,7 +34,7 @@ @Rule(key = "S1849") public class HasNextCallingNextCheck extends IssuableSubscriptionVisitor { - private HasNextBodyVisitor hasNextBodyVisitor = new HasNextBodyVisitor(); + private final HasNextBodyVisitor hasNextBodyVisitor = new HasNextBodyVisitor(); @Override public List nodesToVisit() { diff --git a/java-checks/src/main/java/org/sonar/java/checks/InnerStaticClassesCheck.java b/java-checks/src/main/java/org/sonar/java/checks/InnerStaticClassesCheck.java index f383958a40a..4c748b92e16 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/InnerStaticClassesCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/InnerStaticClassesCheck.java @@ -38,8 +38,8 @@ public class InnerStaticClassesCheck extends BaseTreeVisitor implements JavaFileScanner { private JavaFileScannerContext context; - private Deque outerClasses = new LinkedList<>(); - private Deque atLeastOneReference = new LinkedList<>(); + private final Deque outerClasses = new LinkedList<>(); + private final Deque atLeastOneReference = new LinkedList<>(); @Override public void scanFile(final JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/IterableIteratorCheck.java b/java-checks/src/main/java/org/sonar/java/checks/IterableIteratorCheck.java index c51d9757ad8..29284c397d6 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/IterableIteratorCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/IterableIteratorCheck.java @@ -64,7 +64,7 @@ public void visitNode(Tree tree) { } private static class ReturnThis extends BaseTreeVisitor { - private List issueLocations = new ArrayList<>(); + private final List issueLocations = new ArrayList<>(); @Override public void visitClass(ClassTree tree) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/LazyArgEvaluationCheck.java b/java-checks/src/main/java/org/sonar/java/checks/LazyArgEvaluationCheck.java index 29bae332432..a09b4105499 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/LazyArgEvaluationCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/LazyArgEvaluationCheck.java @@ -130,7 +130,7 @@ private static String[] testMethodNames(String[] lowerCaseNames) { } private JavaFileScannerContext context; - private Deque treeStack = new ArrayDeque<>(); + private final Deque treeStack = new ArrayDeque<>(); private boolean foundReturnStatementInsideLevelTest = false; @Override diff --git a/java-checks/src/main/java/org/sonar/java/checks/MethodParametersOrderCheck.java b/java-checks/src/main/java/org/sonar/java/checks/MethodParametersOrderCheck.java index a53d5ac5d7f..af91334a1d7 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/MethodParametersOrderCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/MethodParametersOrderCheck.java @@ -43,7 +43,7 @@ @Rule(key = "S2234") public class MethodParametersOrderCheck extends IssuableSubscriptionVisitor { - private Map parametersByMethod = new HashMap<>(); + private final Map parametersByMethod = new HashMap<>(); @Override public List nodesToVisit() { @@ -124,9 +124,9 @@ private static List matchingTypesWrongOrder(ParametersList formalP private static class ParametersList { - private List parameterNames; - private List parameterTypes; - private List parameters; + private final List parameterNames; + private final List parameterTypes; + private final List parameters; public ParametersList(MethodTree methodTree) { parameterNames = new ArrayList<>(); diff --git a/java-checks/src/main/java/org/sonar/java/checks/ModifiersOrderCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ModifiersOrderCheck.java index f588de06576..7207d88ba76 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ModifiersOrderCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ModifiersOrderCheck.java @@ -43,7 +43,7 @@ @DeprecatedRuleKey(ruleKey = "ModifiersOrderCheck", repositoryKey = "squid") @Rule(key = "S1124") public class ModifiersOrderCheck extends IssuableSubscriptionVisitor { - private Set alreadyReported = new HashSet<>(); + private final Set alreadyReported = new HashSet<>(); @Override public void setContext(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/ModulusEqualityCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ModulusEqualityCheck.java index a9f4128e689..c8b0dc3d87a 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ModulusEqualityCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ModulusEqualityCheck.java @@ -39,7 +39,7 @@ @Rule(key = "S2197") public class ModulusEqualityCheck extends IssuableSubscriptionVisitor { - private Set methodParams = new HashSet<>(); + private final Set methodParams = new HashSet<>(); @Override public void leaveFile(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/NestedTryCatchCheck.java b/java-checks/src/main/java/org/sonar/java/checks/NestedTryCatchCheck.java index 5b6194c8857..b3e7fbe282b 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/NestedTryCatchCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/NestedTryCatchCheck.java @@ -33,7 +33,7 @@ public class NestedTryCatchCheck extends BaseTreeVisitor implements JavaFileScanner { private JavaFileScannerContext context; - private Deque> nestingLevel = new ArrayDeque<>(); + private final Deque> nestingLevel = new ArrayDeque<>(); @Override public void scanFile(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/OperatorPrecedenceCheck.java b/java-checks/src/main/java/org/sonar/java/checks/OperatorPrecedenceCheck.java index ae59b2313ce..e7f26d991bf 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/OperatorPrecedenceCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/OperatorPrecedenceCheck.java @@ -73,7 +73,7 @@ public class OperatorPrecedenceCheck extends BaseTreeVisitor implements JavaFile Tree.Kind.UNSIGNED_RIGHT_SHIFT ); - private static final Tree.Kind[] CONDITIONAL_EXCLUSIONS = new Tree.Kind[]{ + private static final Tree.Kind[] CONDITIONAL_EXCLUSIONS = { Tree.Kind.METHOD_INVOCATION, Tree.Kind.IDENTIFIER, Tree.Kind.MEMBER_SELECT, Tree.Kind.PARENTHESIZED_EXPRESSION, Tree.Kind.TYPE_CAST, Tree.Kind.NEW_CLASS, Tree.Kind.ARRAY_ACCESS_EXPRESSION, Tree.Kind.NEW_ARRAY, Tree.Kind.METHOD_REFERENCE @@ -90,8 +90,8 @@ public class OperatorPrecedenceCheck extends BaseTreeVisitor implements JavaFile } private JavaFileScannerContext context; - private Deque stack = new LinkedList<>(); - private Set reportedLines = new HashSet<>(); + private final Deque stack = new LinkedList<>(); + private final Set reportedLines = new HashSet<>(); private static void put(Iterable firstSet, Iterable secondSet) { for (Tree.Kind first : firstSet) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/OverwrittenKeyCheck.java b/java-checks/src/main/java/org/sonar/java/checks/OverwrittenKeyCheck.java index f1b61f6aa56..9afdc81af3e 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/OverwrittenKeyCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/OverwrittenKeyCheck.java @@ -106,7 +106,7 @@ private static class CollectionAndKey { private final Tree keyTree; private final Object key; private final boolean isArray; - private ExpressionTree rhs; + private final ExpressionTree rhs; private CollectionAndKey(Symbol collection, Tree keyTree, Object key, boolean isArray, @Nullable ExpressionTree expression) { this.collection = collection; diff --git a/java-checks/src/main/java/org/sonar/java/checks/RedundantThrowsDeclarationCheck.java b/java-checks/src/main/java/org/sonar/java/checks/RedundantThrowsDeclarationCheck.java index 542ddef75de..d5ad546f49b 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/RedundantThrowsDeclarationCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/RedundantThrowsDeclarationCheck.java @@ -215,7 +215,7 @@ private static Set thrownExceptionsFromBody(MethodTree methodTree) { } private static class ThrownExceptionVisitor extends BaseTreeVisitor { - private Set thrownExceptions = new HashSet<>(); + private final Set thrownExceptions = new HashSet<>(); private boolean visitedUnknown = false; private boolean visitedOtherConstructor = false; private final MethodTree methodTree; diff --git a/java-checks/src/main/java/org/sonar/java/checks/ShiftOnIntOrLongCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ShiftOnIntOrLongCheck.java index e06f7f14ba0..48ac3e0118e 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ShiftOnIntOrLongCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ShiftOnIntOrLongCheck.java @@ -42,7 +42,7 @@ @Rule(key = "S2183") public class ShiftOnIntOrLongCheck extends IssuableSubscriptionVisitor { - private List shiftTrees = new ArrayList<>(); + private final List shiftTrees = new ArrayList<>(); @Override public List nodesToVisit() { diff --git a/java-checks/src/main/java/org/sonar/java/checks/StaticFieldInitializationCheck.java b/java-checks/src/main/java/org/sonar/java/checks/StaticFieldInitializationCheck.java index a309b145d23..e7e7c41c945 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/StaticFieldInitializationCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/StaticFieldInitializationCheck.java @@ -36,10 +36,10 @@ @Rule(key = "S2444") public class StaticFieldInitializationCheck extends AbstractInSynchronizeChecker { - private Deque classWithSynchronizedMethod = new LinkedList<>(); - private Deque withinStaticInitializer = new LinkedList<>(); - private Deque methodUsesLocks = new LinkedList<>(); - private MethodMatchers locks = MethodMatchers.create() + private final Deque classWithSynchronizedMethod = new LinkedList<>(); + private final Deque withinStaticInitializer = new LinkedList<>(); + private final Deque methodUsesLocks = new LinkedList<>(); + private final MethodMatchers locks = MethodMatchers.create() .ofTypes("java.util.concurrent.locks.Lock") .names("lock", "tryLock") .addWithoutParametersMatcher() diff --git a/java-checks/src/main/java/org/sonar/java/checks/StaticFieldUpateCheck.java b/java-checks/src/main/java/org/sonar/java/checks/StaticFieldUpateCheck.java index bc63f291098..23a05294663 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/StaticFieldUpateCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/StaticFieldUpateCheck.java @@ -40,13 +40,13 @@ @Rule(key = "S2696") public class StaticFieldUpateCheck extends AbstractInSynchronizeChecker { - private static final Kind[] UNARY_EXPRESSIONS = new Kind[]{ + private static final Kind[] UNARY_EXPRESSIONS = { Kind.POSTFIX_DECREMENT, Kind.POSTFIX_INCREMENT, Kind.PREFIX_DECREMENT, Kind.PREFIX_INCREMENT}; - private Deque withinStaticMethod = new LinkedList<>(); + private final Deque withinStaticMethod = new LinkedList<>(); @Override public List nodesToVisit() { diff --git a/java-checks/src/main/java/org/sonar/java/checks/StaticMethodCheck.java b/java-checks/src/main/java/org/sonar/java/checks/StaticMethodCheck.java index 58e23ee3c4c..59a35d7551a 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/StaticMethodCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/StaticMethodCheck.java @@ -87,7 +87,7 @@ public class StaticMethodCheck extends BaseTreeVisitor implements JavaFileScanne }; private JavaFileScannerContext context; - private Deque methodReferences = new LinkedList<>(); + private final Deque methodReferences = new LinkedList<>(); @Override public void scanFile(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/StringConcatenationInLoopCheck.java b/java-checks/src/main/java/org/sonar/java/checks/StringConcatenationInLoopCheck.java index f930199df5e..eeebe751581 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/StringConcatenationInLoopCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/StringConcatenationInLoopCheck.java @@ -42,7 +42,7 @@ public class StringConcatenationInLoopCheck extends BaseTreeVisitor implements JavaFileScanner { private JavaFileScannerContext context; - private Deque loopLevel = new LinkedList<>(); + private final Deque loopLevel = new LinkedList<>(); @Override public void scanFile(JavaFileScannerContext context) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/SunPackagesUsedCheck.java b/java-checks/src/main/java/org/sonar/java/checks/SunPackagesUsedCheck.java index 818b587dae3..a3e400d7978 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/SunPackagesUsedCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/SunPackagesUsedCheck.java @@ -30,7 +30,7 @@ @Rule(key = "S1191") public class SunPackagesUsedCheck extends BaseTreeVisitor implements JavaFileScanner { - private List reportedTrees = new ArrayList<>(); + private final List reportedTrees = new ArrayList<>(); private static final String DEFAULT_EXCLUDE = ""; diff --git a/java-checks/src/main/java/org/sonar/java/checks/SynchronizedClassUsageCheck.java b/java-checks/src/main/java/org/sonar/java/checks/SynchronizedClassUsageCheck.java index eb55e3cb70c..5b060dc5afe 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/SynchronizedClassUsageCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/SynchronizedClassUsageCheck.java @@ -113,7 +113,7 @@ private static boolean isMethodFromJavaPackage(String fqn) { private class DeprecatedTypeVisitor extends BaseTreeVisitor { - private Deque> overridingMethodTypes = new ArrayDeque<>(); + private final Deque> overridingMethodTypes = new ArrayDeque<>(); @Override public void visitClass(ClassTree tree) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/ThisExposedFromConstructorCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ThisExposedFromConstructorCheck.java index 42521049777..45f5d2edd5c 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ThisExposedFromConstructorCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ThisExposedFromConstructorCheck.java @@ -47,7 +47,7 @@ public void visitNode(Tree tree) { } private class ConstructorBodyVisitor extends BaseTreeVisitor { - private Symbol owner; + private final Symbol owner; public ConstructorBodyVisitor(Symbol owner) { this.owner = owner; diff --git a/java-checks/src/main/java/org/sonar/java/checks/ThrowCheckedExceptionCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ThrowCheckedExceptionCheck.java index a847c524ea1..cde0a73c385 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ThrowCheckedExceptionCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ThrowCheckedExceptionCheck.java @@ -30,7 +30,7 @@ @Rule(key = "S1162") public class ThrowCheckedExceptionCheck extends IssuableSubscriptionVisitor { - private Deque methods = new LinkedList<>(); + private final Deque methods = new LinkedList<>(); @Override public List nodesToVisit() { diff --git a/java-checks/src/main/java/org/sonar/java/checks/ToStringUsingBoxingCheck.java b/java-checks/src/main/java/org/sonar/java/checks/ToStringUsingBoxingCheck.java index 89378dead25..ce3fea57b82 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/ToStringUsingBoxingCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/ToStringUsingBoxingCheck.java @@ -37,7 +37,7 @@ @Rule(key = "S1158") public class ToStringUsingBoxingCheck extends IssuableSubscriptionVisitor { - private static final String[] PRIMITIVE_WRAPPERS = new String[]{ + private static final String[] PRIMITIVE_WRAPPERS = { "java.lang.Byte", "java.lang.Character", "java.lang.Short", diff --git a/java-checks/src/main/java/org/sonar/java/checks/WaitInWhileLoopCheck.java b/java-checks/src/main/java/org/sonar/java/checks/WaitInWhileLoopCheck.java index a872fe937c4..3ba31072429 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/WaitInWhileLoopCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/WaitInWhileLoopCheck.java @@ -33,7 +33,7 @@ @Rule(key = "S2274") public class WaitInWhileLoopCheck extends AbstractMethodDetection { - private Deque inWhileLoop = new LinkedList<>(); + private final Deque inWhileLoop = new LinkedList<>(); @Override protected void clearState() { diff --git a/java-checks/src/main/java/org/sonar/java/checks/security/ExcessiveContentRequestCheck.java b/java-checks/src/main/java/org/sonar/java/checks/security/ExcessiveContentRequestCheck.java index 2914eb3335b..9f2a133f580 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/security/ExcessiveContentRequestCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/security/ExcessiveContentRequestCheck.java @@ -133,7 +133,7 @@ public class ExcessiveContentRequestCheck extends IssuableSubscriptionVisitor im private final List multipartConstructorIssues = new ArrayList<>(); private boolean sizeSetSomewhere = false; - private Set filesCached = new HashSet<>(); + private final Set filesCached = new HashSet<>(); private boolean currentFileSetsMaximumSize = false; private boolean currentFileInstantiates = false; diff --git a/java-checks/src/main/java/org/sonar/java/checks/security/VerifiedServerHostnamesCheck.java b/java-checks/src/main/java/org/sonar/java/checks/security/VerifiedServerHostnamesCheck.java index 2c00dc0641c..384d8cedf15 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/security/VerifiedServerHostnamesCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/security/VerifiedServerHostnamesCheck.java @@ -192,7 +192,7 @@ private static boolean isNotFalse(ExpressionTree expression) { private static class MethodBodyApacheVisitor extends BaseTreeVisitor { private boolean isSecured = false; - private Symbol variable; + private final Symbol variable; private static final MethodMatchers SET_SSL_CHECK_SERVER_ID = MethodMatchers.create() .ofSubTypes(APACHE_EMAIL) @@ -215,7 +215,7 @@ public void visitMethodInvocation(MethodInvocationTree mit) { private static class MethodBodyHashtableVisitor extends BaseTreeVisitor { private boolean isSecured = false; - private Symbol variable; + private final Symbol variable; MethodBodyHashtableVisitor(@Nullable Symbol variable) { this.variable = variable; diff --git a/java-checks/src/main/java/org/sonar/java/checks/security/XxeActiveMQCheck.java b/java-checks/src/main/java/org/sonar/java/checks/security/XxeActiveMQCheck.java index bb2f52cf856..de6a6247de1 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/security/XxeActiveMQCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/security/XxeActiveMQCheck.java @@ -80,7 +80,7 @@ private static class MethodBodyVisitor extends BaseTreeVisitor { private boolean hasTrustAllPackages = false; private boolean callArgumentsOfSetTrustedPackages = false; - private Symbol variable; + private final Symbol variable; MethodBodyVisitor(@Nullable Symbol variable) { this.variable = variable; diff --git a/java-checks/src/main/java/org/sonar/java/checks/serialization/SerializableFieldInSerializableClassCheck.java b/java-checks/src/main/java/org/sonar/java/checks/serialization/SerializableFieldInSerializableClassCheck.java index 16bac0f3e40..c5d608cfcd7 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/serialization/SerializableFieldInSerializableClassCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/serialization/SerializableFieldInSerializableClassCheck.java @@ -49,7 +49,7 @@ public class SerializableFieldInSerializableClassCheck extends IssuableSubscript private static final String JAVAX_INJECT = "javax.inject.Inject"; private static final String JAKARTA_INJECT = "jakarta.inject.Inject"; - private static final String[] EXCLUDED_ANNOTATIONS = new String[]{ + private static final String[] EXCLUDED_ANNOTATIONS = { "jakarta.annotation.Resource", "javax.annotation.Resource", "javax.ejb.EJB", diff --git a/java-checks/src/main/java/org/sonar/java/checks/synchronization/DoubleCheckedLockingCheck.java b/java-checks/src/main/java/org/sonar/java/checks/synchronization/DoubleCheckedLockingCheck.java index fb0fd4ae35f..c68b7f11d3d 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/synchronization/DoubleCheckedLockingCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/synchronization/DoubleCheckedLockingCheck.java @@ -53,8 +53,8 @@ @Rule(key = "S2168") public class DoubleCheckedLockingCheck extends IssuableSubscriptionVisitor { - private Deque ifFieldStack = new LinkedList<>(); - private Deque synchronizedStmtStack = new LinkedList<>(); + private final Deque ifFieldStack = new LinkedList<>(); + private final Deque synchronizedStmtStack = new LinkedList<>(); private boolean methodIsSynchronized; @Override @@ -165,7 +165,7 @@ private static boolean thenStmtInitializeField(StatementTree statementTree, Symb private static class AssignmentVisitor extends BaseTreeVisitor { private boolean assignmentToField; - private Symbol field; + private final Symbol field; AssignmentVisitor(Symbol field) { this.field = field; diff --git a/java-checks/src/main/java/org/sonar/java/checks/synchronization/TwoLocksWaitCheck.java b/java-checks/src/main/java/org/sonar/java/checks/synchronization/TwoLocksWaitCheck.java index 1b3ca2379a5..c517a4ec469 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/synchronization/TwoLocksWaitCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/synchronization/TwoLocksWaitCheck.java @@ -43,7 +43,7 @@ public class TwoLocksWaitCheck extends IssuableSubscriptionVisitor { private static final MethodMatchers WAIT_MATCHER = MethodMatchers.create().ofAnyType().names("wait").addWithoutParametersMatcher().build(); - private Deque synchronizedStack = new LinkedList<>(); + private final Deque synchronizedStack = new LinkedList<>(); @Override public List nodesToVisit() { @@ -85,7 +85,7 @@ private static List flowFromTree(Tree tree) { private class MethodInvocationVisitor extends BaseTreeVisitor { private final MethodMatchers methodMatcher; - private Stream.Builder matchedMethods = Stream.builder(); + private final Stream.Builder matchedMethods = Stream.builder(); private MethodInvocationVisitor(MethodMatchers methodMatcher) { this.methodMatcher = methodMatcher; @@ -123,7 +123,7 @@ private Stream matchedMethods() { private static class SynchronizedKeywordVisitor extends BaseTreeVisitor { - private Stream.Builder synchronizedKeywords = Stream.builder(); + private final Stream.Builder synchronizedKeywords = Stream.builder(); @Override public void visitSynchronizedStatement(SynchronizedStatementTree tree) { diff --git a/java-checks/src/main/java/org/sonar/java/checks/tests/AssertionsInTestsCheck.java b/java-checks/src/main/java/org/sonar/java/checks/tests/AssertionsInTestsCheck.java index bc6779a851e..0b3497f51e0 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/tests/AssertionsInTestsCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/tests/AssertionsInTestsCheck.java @@ -246,7 +246,7 @@ private static boolean expectAssertion(MethodTree methodTree) { } private class AssertionVisitor extends AbstractAssertionVisitor { - private MethodMatchers customMethodsMatcher; + private final MethodMatchers customMethodsMatcher; private AssertionVisitor(MethodMatchers customMethodsMatcher) { this.customMethodsMatcher = customMethodsMatcher; diff --git a/java-checks/src/main/java/org/sonar/java/checks/tests/ExpectedExceptionCheck.java b/java-checks/src/main/java/org/sonar/java/checks/tests/ExpectedExceptionCheck.java index 99a9cfe0829..7262de048c1 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/tests/ExpectedExceptionCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/tests/ExpectedExceptionCheck.java @@ -62,8 +62,8 @@ protected void onMethodInvocationFound(MethodInvocationTree mit) { private static class AssertionCollector extends BaseTreeVisitor { - private int collectAfterLine; - private List assertions = new ArrayList<>(); + private final int collectAfterLine; + private final List assertions = new ArrayList<>(); public AssertionCollector(int collectAfterLine) { this.collectAfterLine = collectAfterLine; diff --git a/java-checks/src/main/java/org/sonar/java/checks/tests/JUnit5SilentlyIgnoreClassAndMethodCheck.java b/java-checks/src/main/java/org/sonar/java/checks/tests/JUnit5SilentlyIgnoreClassAndMethodCheck.java index 3d3a8d055aa..a3085d48877 100644 --- a/java-checks/src/main/java/org/sonar/java/checks/tests/JUnit5SilentlyIgnoreClassAndMethodCheck.java +++ b/java-checks/src/main/java/org/sonar/java/checks/tests/JUnit5SilentlyIgnoreClassAndMethodCheck.java @@ -130,7 +130,7 @@ private void raiseIssueOnNonCompliantReturnType(MethodTree methodTree) { } static final class ReturnStatementVisitor extends BaseTreeVisitor { - private List returnStatementTrees = new ArrayList<>(); + private final List returnStatementTrees = new ArrayList<>(); ReturnStatementVisitor(MethodTree methodTree) { scan(methodTree); diff --git a/java-frontend/src/main/java/org/sonar/java/JavaFilesCache.java b/java-frontend/src/main/java/org/sonar/java/JavaFilesCache.java index 00879f8ff63..778540a840e 100644 --- a/java-frontend/src/main/java/org/sonar/java/JavaFilesCache.java +++ b/java-frontend/src/main/java/org/sonar/java/JavaFilesCache.java @@ -33,10 +33,10 @@ public class JavaFilesCache extends BaseTreeVisitor implements JavaFileScanner { - private Set classNames = new HashSet<>(); - private Deque currentClassKey = new LinkedList<>(); - private Deque parent = new LinkedList<>(); - private Deque anonymousInnerClassCounter = new LinkedList<>(); + private final Set classNames = new HashSet<>(); + private final Deque currentClassKey = new LinkedList<>(); + private final Deque parent = new LinkedList<>(); + private final Deque anonymousInnerClassCounter = new LinkedList<>(); private String currentPackage; public Set getClassNames() { diff --git a/java-frontend/src/main/java/org/sonar/java/ast/visitors/CommentLinesVisitor.java b/java-frontend/src/main/java/org/sonar/java/ast/visitors/CommentLinesVisitor.java index 67376e3179b..aedd090552f 100644 --- a/java-frontend/src/main/java/org/sonar/java/ast/visitors/CommentLinesVisitor.java +++ b/java-frontend/src/main/java/org/sonar/java/ast/visitors/CommentLinesVisitor.java @@ -32,9 +32,9 @@ public class CommentLinesVisitor extends SubscriptionVisitor { - private Set comments = new HashSet<>(); - private Set noSonarLines = new HashSet<>(); - private Map> syntaxTrivia = new HashMap<>(); + private final Set comments = new HashSet<>(); + private final Set noSonarLines = new HashSet<>(); + private final Map> syntaxTrivia = new HashMap<>(); private boolean seenFirstToken; @Override diff --git a/java-frontend/src/main/java/org/sonar/java/ast/visitors/ComplexityVisitor.java b/java-frontend/src/main/java/org/sonar/java/ast/visitors/ComplexityVisitor.java index 938fe358915..71895dcfccf 100644 --- a/java-frontend/src/main/java/org/sonar/java/ast/visitors/ComplexityVisitor.java +++ b/java-frontend/src/main/java/org/sonar/java/ast/visitors/ComplexityVisitor.java @@ -35,7 +35,7 @@ public class ComplexityVisitor extends BaseTreeVisitor { - private List blame = new ArrayList<>(); + private final List blame = new ArrayList<>(); private Tree root; private static final String DEFAULT_KEYWORD = JavaKeyword.DEFAULT.getValue(); diff --git a/java-frontend/src/main/java/org/sonar/java/ast/visitors/LinesOfCodeVisitor.java b/java-frontend/src/main/java/org/sonar/java/ast/visitors/LinesOfCodeVisitor.java index 87aee79057d..e29a94e2935 100644 --- a/java-frontend/src/main/java/org/sonar/java/ast/visitors/LinesOfCodeVisitor.java +++ b/java-frontend/src/main/java/org/sonar/java/ast/visitors/LinesOfCodeVisitor.java @@ -28,7 +28,7 @@ public class LinesOfCodeVisitor extends SubscriptionVisitor{ - private Set lines = new HashSet<>(); + private final Set lines = new HashSet<>(); public int linesOfCode(Tree tree) { lines.clear(); diff --git a/java-frontend/src/main/java/org/sonar/java/ast/visitors/StatementVisitor.java b/java-frontend/src/main/java/org/sonar/java/ast/visitors/StatementVisitor.java index 288af25d3bb..6c872602356 100644 --- a/java-frontend/src/main/java/org/sonar/java/ast/visitors/StatementVisitor.java +++ b/java-frontend/src/main/java/org/sonar/java/ast/visitors/StatementVisitor.java @@ -44,7 +44,7 @@ public class StatementVisitor extends BaseTreeVisitor { private int statements; - private Set variableTypes = new HashSet<>(); + private final Set variableTypes = new HashSet<>(); public int numberOfStatements(Tree tree) { statements = 0; diff --git a/java-frontend/src/main/java/org/sonar/java/caching/JavaWriteCacheImpl.java b/java-frontend/src/main/java/org/sonar/java/caching/JavaWriteCacheImpl.java index b65c4fe4fc4..48c1a7108c6 100644 --- a/java-frontend/src/main/java/org/sonar/java/caching/JavaWriteCacheImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/caching/JavaWriteCacheImpl.java @@ -24,7 +24,7 @@ import org.sonarsource.performance.measure.PerformanceMeasure; public class JavaWriteCacheImpl implements JavaWriteCache { - private WriteCache writeCache; + private final WriteCache writeCache; public JavaWriteCacheImpl(WriteCache writeCache) { this.writeCache = writeCache; diff --git a/java-frontend/src/main/java/org/sonar/java/cfg/CFG.java b/java-frontend/src/main/java/org/sonar/java/cfg/CFG.java index d885c120b89..0ad03387eeb 100644 --- a/java-frontend/src/main/java/org/sonar/java/cfg/CFG.java +++ b/java-frontend/src/main/java/org/sonar/java/cfg/CFG.java @@ -131,8 +131,8 @@ public void addCatch(Type type, Block catchBlock) { } private String pendingLabel = null; - private Map labelsBreakTarget = new HashMap<>(); - private Map labelsContinueTarget = new HashMap<>(); + private final Map labelsBreakTarget = new HashMap<>(); + private final Map labelsContinueTarget = new HashMap<>(); private CFG(List trees, @Nullable MethodTree tree) { if (tree != null) { diff --git a/java-frontend/src/main/java/org/sonar/java/matcher/MethodMatchersList.java b/java-frontend/src/main/java/org/sonar/java/matcher/MethodMatchersList.java index fac6c759185..e50dcac9b46 100644 --- a/java-frontend/src/main/java/org/sonar/java/matcher/MethodMatchersList.java +++ b/java-frontend/src/main/java/org/sonar/java/matcher/MethodMatchersList.java @@ -28,7 +28,7 @@ public class MethodMatchersList implements MethodMatchers { - private List matchers; + private final List matchers; public MethodMatchersList(List matchers) { this.matchers = new ArrayList<>(matchers); diff --git a/java-frontend/src/main/java/org/sonar/java/model/VisitorsBridge.java b/java-frontend/src/main/java/org/sonar/java/model/VisitorsBridge.java index cbee2624114..bed0a6217a9 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/VisitorsBridge.java +++ b/java-frontend/src/main/java/org/sonar/java/model/VisitorsBridge.java @@ -392,8 +392,8 @@ public void endOfAnalysis() { } private class IssuableSubscriptionVisitorsRunner implements JavaFileScanner, EndOfAnalysis { - private EnumMap> checks; - private List subscriptionVisitors; + private final EnumMap> checks; + private final List subscriptionVisitors; IssuableSubscriptionVisitorsRunner() { checks = new EnumMap<>(Tree.Kind.class); diff --git a/java-frontend/src/main/java/org/sonar/java/model/declaration/VariableTreeImpl.java b/java-frontend/src/main/java/org/sonar/java/model/declaration/VariableTreeImpl.java index baab14748aa..e46d74b113a 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/declaration/VariableTreeImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/model/declaration/VariableTreeImpl.java @@ -42,7 +42,7 @@ public class VariableTreeImpl extends JavaTree implements VariableTree { private ModifiersTree modifiers; private TypeTree type; - private IdentifierTree simpleName; + private final IdentifierTree simpleName; @Nullable private SyntaxToken equalToken; @Nullable diff --git a/java-frontend/src/main/java/org/sonar/java/model/expression/MemberSelectExpressionTreeImpl.java b/java-frontend/src/main/java/org/sonar/java/model/expression/MemberSelectExpressionTreeImpl.java index 42a2bc7c800..026c44c84bc 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/expression/MemberSelectExpressionTreeImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/model/expression/MemberSelectExpressionTreeImpl.java @@ -33,9 +33,9 @@ public class MemberSelectExpressionTreeImpl extends AssessableExpressionTree implements MemberSelectExpressionTree, JavaTree.AnnotatedTypeTree { - private ExpressionTree expression; + private final ExpressionTree expression; - private InternalSyntaxToken dotToken; + private final InternalSyntaxToken dotToken; private final IdentifierTree identifier; private List annotations; diff --git a/java-frontend/src/main/java/org/sonar/java/model/expression/MethodReferenceTreeImpl.java b/java-frontend/src/main/java/org/sonar/java/model/expression/MethodReferenceTreeImpl.java index c5918703817..f88d25018ea 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/expression/MethodReferenceTreeImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/model/expression/MethodReferenceTreeImpl.java @@ -32,8 +32,8 @@ public class MethodReferenceTreeImpl extends AssessableExpressionTree implements MethodReferenceTree { - private Tree expression; - private SyntaxToken doubleColon; + private final Tree expression; + private final SyntaxToken doubleColon; private IdentifierTree method; private TypeArguments typeArgument; diff --git a/java-frontend/src/main/java/org/sonar/java/model/expression/NewClassTreeImpl.java b/java-frontend/src/main/java/org/sonar/java/model/expression/NewClassTreeImpl.java index a98099c072a..cbd2a572b70 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/expression/NewClassTreeImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/model/expression/NewClassTreeImpl.java @@ -47,7 +47,7 @@ public class NewClassTreeImpl extends AssessableExpressionTree implements NewCla private SyntaxToken newKeyword; @Nullable private TypeArguments typeArguments; - private TypeTree identifier; + private final TypeTree identifier; private final Arguments arguments; @Nullable private final ClassTree classBody; diff --git a/java-frontend/src/main/java/org/sonar/java/model/statement/IfStatementTreeImpl.java b/java-frontend/src/main/java/org/sonar/java/model/statement/IfStatementTreeImpl.java index e4ffff7ebb8..0f2656cd746 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/statement/IfStatementTreeImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/model/statement/IfStatementTreeImpl.java @@ -32,11 +32,11 @@ public class IfStatementTreeImpl extends JavaTree implements IfStatementTree { - private InternalSyntaxToken ifKeyword; - private InternalSyntaxToken openParenToken; - private ExpressionTree condition; - private InternalSyntaxToken closeParenToken; - private StatementTree thenStatement; + private final InternalSyntaxToken ifKeyword; + private final InternalSyntaxToken openParenToken; + private final ExpressionTree condition; + private final InternalSyntaxToken closeParenToken; + private final StatementTree thenStatement; @Nullable private final InternalSyntaxToken elseKeyword; @Nullable diff --git a/java-frontend/src/main/java/org/sonar/java/model/statement/StaticInitializerTreeImpl.java b/java-frontend/src/main/java/org/sonar/java/model/statement/StaticInitializerTreeImpl.java index f71270cf892..39c21d0bdaf 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/statement/StaticInitializerTreeImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/model/statement/StaticInitializerTreeImpl.java @@ -26,7 +26,7 @@ public class StaticInitializerTreeImpl extends BlockTreeImpl implements StaticInitializerTree { - private SyntaxToken staticKeyword; + private final SyntaxToken staticKeyword; public StaticInitializerTreeImpl(InternalSyntaxToken staticKeyword, InternalSyntaxToken openBraceToken, List body, InternalSyntaxToken closeBraceToken) { super(Tree.Kind.STATIC_INITIALIZER, openBraceToken, body, closeBraceToken); diff --git a/java-frontend/src/main/java/org/sonar/java/model/statement/TryStatementTreeImpl.java b/java-frontend/src/main/java/org/sonar/java/model/statement/TryStatementTreeImpl.java index 88da585f929..4b5563f8a0f 100644 --- a/java-frontend/src/main/java/org/sonar/java/model/statement/TryStatementTreeImpl.java +++ b/java-frontend/src/main/java/org/sonar/java/model/statement/TryStatementTreeImpl.java @@ -32,16 +32,16 @@ public class TryStatementTreeImpl extends JavaTree implements TryStatementTree { - private InternalSyntaxToken tryToken; + private final InternalSyntaxToken tryToken; @Nullable private InternalSyntaxToken openParenToken; - private ListTree resources; + private final ListTree resources; @Nullable private InternalSyntaxToken closeParenToken; - private BlockTree block; - private List catches; + private final BlockTree block; + private final List catches; @Nullable private final InternalSyntaxToken finallyKeyword; diff --git a/java-frontend/src/main/java/org/sonar/java/testing/VisitorsBridgeForTests.java b/java-frontend/src/main/java/org/sonar/java/testing/VisitorsBridgeForTests.java index 80a0ccf05c9..19d06d56eb3 100644 --- a/java-frontend/src/main/java/org/sonar/java/testing/VisitorsBridgeForTests.java +++ b/java-frontend/src/main/java/org/sonar/java/testing/VisitorsBridgeForTests.java @@ -39,7 +39,7 @@ public class VisitorsBridgeForTests extends VisitorsBridge { - private List testContexts = new ArrayList<>(); + private final List testContexts = new ArrayList<>(); private JavaFileScannerContextForTests moduleContext; private final boolean enableSemantic; diff --git a/java-frontend/src/test/java/org/sonar/java/ast/visitors/FileLinesVisitorTest.java b/java-frontend/src/test/java/org/sonar/java/ast/visitors/FileLinesVisitorTest.java index 47665bbdaa7..ef0e1db4fb1 100644 --- a/java-frontend/src/test/java/org/sonar/java/ast/visitors/FileLinesVisitorTest.java +++ b/java-frontend/src/test/java/org/sonar/java/ast/visitors/FileLinesVisitorTest.java @@ -76,7 +76,7 @@ void lines_of_code_data() { void executable_lines_should_be_counted() { FileLinesContext context = mock(FileLinesContext.class); checkLines("ExecutableLines.java", context); - int[] expected = new int[] {0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, + int[] expected = {0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0}; assertThat(expected).hasSize(56); for (int i = 0; i < expected.length; i++) { diff --git a/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java b/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java index 2724e0f240e..65710fd7a9f 100644 --- a/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java +++ b/java-frontend/src/test/java/org/sonar/java/caching/ContentHashCacheTest.java @@ -63,7 +63,7 @@ void hasSameHashCached_returns_true_when_content_hash_file_is_in_read_cache() th @Test void hasSameHashCached_returns_false_when_content_hash_file_is_not_in_read_cache_with_proper_logging() { String cacheMissMessage = "Could not find key java:contentHash:MD5:" + inputFile.key() + " in the cache"; - String[] traceMessages = new String[]{ + String[] traceMessages = { "Reading cache for the file " + inputFile.key(), "Writing to the cache for file " + inputFile.key() }; diff --git a/java-frontend/src/test/java/org/sonar/java/cfg/CFGTest.java b/java-frontend/src/test/java/org/sonar/java/cfg/CFGTest.java index 9a8940ab94f..543bd51f429 100644 --- a/java-frontend/src/test/java/org/sonar/java/cfg/CFGTest.java +++ b/java-frontend/src/test/java/org/sonar/java/cfg/CFGTest.java @@ -167,8 +167,8 @@ private void checkLinkedBlocks(int id, String type, List blocks, Set checkers = new ArrayList<>(); private TerminatorChecker terminatorChecker; private int ifTrue = -1; diff --git a/java-surefire/src/main/java/org/sonar/plugins/surefire/StaxParser.java b/java-surefire/src/main/java/org/sonar/plugins/surefire/StaxParser.java index 3224a9d4914..68c229e4601 100644 --- a/java-surefire/src/main/java/org/sonar/plugins/surefire/StaxParser.java +++ b/java-surefire/src/main/java/org/sonar/plugins/surefire/StaxParser.java @@ -31,8 +31,8 @@ public class StaxParser { - private SMInputFactory inf; - private SurefireStaxHandler streamHandler; + private final SMInputFactory inf; + private final SurefireStaxHandler streamHandler; public StaxParser(UnitTestIndex index) { this.streamHandler = new SurefireStaxHandler(index); diff --git a/java-surefire/src/main/java/org/sonar/plugins/surefire/data/UnitTestIndex.java b/java-surefire/src/main/java/org/sonar/plugins/surefire/data/UnitTestIndex.java index 13bc9183880..eb299b7f0a0 100644 --- a/java-surefire/src/main/java/org/sonar/plugins/surefire/data/UnitTestIndex.java +++ b/java-surefire/src/main/java/org/sonar/plugins/surefire/data/UnitTestIndex.java @@ -26,7 +26,7 @@ */ public class UnitTestIndex { - private Map indexByClassname; + private final Map indexByClassname; public UnitTestIndex() { this.indexByClassname = new HashMap<>(); diff --git a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java index 5e737422652..7ecae776712 100644 --- a/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java +++ b/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaSensorTest.java @@ -561,7 +561,7 @@ void custom_file_scanner_is_not_filtered_in_autoscan() throws IOException { DefaultJavaResourceLocator resourceLocator = createDefaultJavaResourceLocator(context.config(), fs); CustomFileScannerHook hook = new CustomFileScannerHook(); - CheckRegistrar[] checkRegistrars = new CheckRegistrar[] {new CustomRegistrar(), hook}; + CheckRegistrar[] checkRegistrars = {new CustomRegistrar(), hook}; ActiveRulesBuilder activeRulesBuilder = new ActiveRulesBuilder(); GeneratedCheckList.getChecks().stream() @@ -620,7 +620,7 @@ private SensorContextTester analyzeTwoFilesWithIssues(MapSettings settings) thro ClasspathForMain javaClasspath = new ClasspathForMain(context.config(), fs); DefaultJavaResourceLocator resourceLocator = createDefaultJavaResourceLocator(context.config(), fs); - CheckRegistrar[] checkRegistrars = new CheckRegistrar[] {new CustomRegistrar()}; + CheckRegistrar[] checkRegistrars = {new CustomRegistrar()}; ActiveRulesBuilder activeRulesBuilder = new ActiveRulesBuilder();