Skip to content

Commit 8e60f95

Browse files
committed
Fix quality flaw
1 parent af6e07c commit 8e60f95

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

java-checks/src/main/java/org/sonar/java/checks/AbstractClassWithoutAbstractMethodCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void visitNode(Tree tree) {
7373
}
7474
}
7575

76-
private boolean hasDefaultConstructor(Collection<Symbol> members) {
76+
private static boolean hasDefaultConstructor(Collection<Symbol> members) {
7777
for (Symbol member : members) {
7878
if ("<init>".equals(member.name()) && member.declaration() == null) {
7979
return true;

java-squid/src/main/java/org/sonar/java/resolve/FirstPass.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
*/
5757
public class FirstPass extends BaseTreeVisitor {
5858

59+
private static final String CONSTRUCTOR_NAME = "<init>";
5960
private final SemanticModel semanticModel;
6061

6162
private final List<JavaSymbol> uncompleted = Lists.newArrayList();
@@ -257,8 +258,8 @@ public void visitClass(ClassTree tree) {
257258
scan(tree.superInterfaces());
258259
scan(tree.members());
259260
//Register default constructor
260-
if(tree.is(Tree.Kind.CLASS) && classEnv.scope.lookup("<init>").isEmpty()) {
261-
JavaSymbol.MethodJavaSymbol defaultConstructor = new JavaSymbol.MethodJavaSymbol(symbol.flags & Flags.ACCESS_FLAGS, "<init>", symbol);
261+
if(tree.is(Tree.Kind.CLASS) && classEnv.scope.lookup(CONSTRUCTOR_NAME).isEmpty()) {
262+
JavaSymbol.MethodJavaSymbol defaultConstructor = new JavaSymbol.MethodJavaSymbol(symbol.flags & Flags.ACCESS_FLAGS, CONSTRUCTOR_NAME, symbol);
262263
JavaType.MethodJavaType defaultConstructorType = new JavaType.MethodJavaType(ImmutableList.<JavaType>of(), null, ImmutableList.<JavaType>of(), symbol);
263264
defaultConstructor.setMethodType(defaultConstructorType);
264265
classEnv.scope.enter(defaultConstructor);
@@ -281,7 +282,7 @@ private int computeClassFlags(ClassTree tree) {
281282

282283
@Override
283284
public void visitMethod(MethodTree tree) {
284-
String name = tree.returnType() == null ? "<init>" : tree.simpleName().name();
285+
String name = tree.returnType() == null ? CONSTRUCTOR_NAME : tree.simpleName().name();
285286
JavaSymbol.MethodJavaSymbol symbol = new JavaSymbol.MethodJavaSymbol(computeFlags(tree.modifiers(), tree), name, env.scope.owner);
286287
symbol.declaration = tree;
287288
if((env.scope.owner.flags & Flags.ENUM) !=0 && tree.returnType()==null ) {

0 commit comments

Comments
 (0)