private void checkModifiers(Symbol.VariableSymbol serialVersionUidSymbol) { List<String> missingModifiers = Lists.newArrayList(); if (!serialVersionUidSymbol.isStatic()) { missingModifiers.add("static"); } if (!serialVersionUidSymbol.isFinal()) { missingModifiers.add("final"); } if (!serialVersionUidSymbol.type().is("long")) { missingModifiers.add("long"); } Tree tree = serialVersionUidSymbol.declaration(); if (tree != null && !missingModifiers.isEmpty()) { addIssue(tree, "Make this \"serialVersionUID\" field \"" + Joiner.on(' ').join(missingModifiers) + "\"."); } }
private void checkModifiers(Symbol.VariableSymbol serialVersionUidSymbol) { List<String> missingModifiers = Lists.newArrayList(); if (!serialVersionUidSymbol.isStatic()) { missingModifiers.add("static"); } if (!serialVersionUidSymbol.isFinal()) { missingModifiers.add("final"); } if (!serialVersionUidSymbol.type().is("long")) { missingModifiers.add("long"); } VariableTree variableTree = serialVersionUidSymbol.declaration(); if (variableTree != null && !missingModifiers.isEmpty()) { reportIssue(variableTree.simpleName(), "Make this \"serialVersionUID\" field \"" + Joiner.on(' ').join(missingModifiers) + "\"."); } }
private void checkModifiers(Symbol.VariableSymbol serialVersionUidSymbol) { List<String> missingModifiers = Lists.newArrayList(); if (!serialVersionUidSymbol.isStatic()) { missingModifiers.add("static"); } if (!serialVersionUidSymbol.isFinal()) { missingModifiers.add("final"); } if (!serialVersionUidSymbol.type().is("long")) { missingModifiers.add("long"); } VariableTree variableTree = serialVersionUidSymbol.declaration(); if (variableTree != null && !missingModifiers.isEmpty()) { reportIssue(variableTree.simpleName(), "Make this \"serialVersionUID\" field \"" + Joiner.on(' ').join(missingModifiers) + "\"."); } }
private static boolean isImmutableFinalVariable(Symbol.VariableSymbol symbol) { if (symbol.isFinal()) { VariableTree declaration = symbol.declaration(); // symbol is private, so declaration can only be null if assignment is done in static block ExpressionTree initializer = declaration.initializer(); if (initializer != null) { return !isMutableType(initializer) || isEmptyArray(initializer); } return !assignementsOfMutableType(symbol.usages()); } return false; }
private static boolean isValidSerialVersionUid(Symbol.VariableSymbol serialVersionUidSymbol) { return serialVersionUidSymbol.isStatic() && serialVersionUidSymbol.isFinal() && serialVersionUidSymbol.type().isPrimitive(Type.Primitives.LONG); }
private static boolean isImmutableFinalVariable(Symbol.VariableSymbol symbol) { if (symbol.isFinal()) { VariableTree declaration = symbol.declaration(); // symbol is private, so declaration can only be null if assignment is done in static block ExpressionTree initializer = declaration.initializer(); if (initializer != null) { return !isMutableType(initializer) || isEmptyArray(initializer); } return !assignementsOfMutableType(symbol.usages()); } return false; }
private static boolean isValidSerialVersionUid(Symbol.VariableSymbol serialVersionUidSymbol) { return serialVersionUidSymbol.isStatic() && serialVersionUidSymbol.isFinal() && serialVersionUidSymbol.type().isPrimitive(Type.Primitives.LONG); }